Fórum Sockets - Funciona não Funfa na rede só no mesmo PC... PQ? #291474
11/08/2005
0
estou começando a trabalhar com os Sockets inclusive uso Delpho 7, mais instalei os componentes de TClienSocket e TServerSocket para trabalhar com ele, devido as informações encontradas na net sobre Indy não serem muitas...
só pra testar criei um Serv com um ServerSocket com as configurações...
Porta = 5555
procedure TfServ.ServerSocket1ClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin ListComm.Items.Add(´Ocorreu o seguinte erro:´+IntToStr(ErrorCode)); if ErrorCode>0 then ErrorCode := 0; end;
procedure TfServ.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var sRecebe : String; begin sRecebe := Socket.ReceiveText; ListComm.Items.Add(FormatDateTime(´dd/mm/yyyy´,Date)+ ´ - ´+FormatDateTime(´hh:mm:ss´,Time) +´ - ´+Socket.RemoteHost+´ - ´+Socket.RemoteAddress+´ - ´+ sRecebe); end;
e um Client com um ClientSocket com as configurações...
Address = 127.0.0.2
Host = 127.0.0.2
Porta = 5555
[b:f3c8fa0060] isso pra funcionar na mesma máquina...[/b:f3c8fa0060]
procedure TfClient.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin log.Items.Add(´Ocorreu o seguinte erro:´+INtToStr(ErrorCode)); if ErrorCode>0 then ErrorCode := 0; end;
só pra testar a funcionabilidade da comunicação....
procedure TfClient.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); var sRecebe : String; begin sRecebe := Socket.ReceiveText; if sRecebe = ´#boot´ then begin lblMostra.Caption := ´Desligar PC´; end else if sRecebe = ´trava´ then begin ShowWindow(FindWindow(nil,´Program Manager´),SW_HIDE); BarraTarefas(False); Socket.SendText(Socket.RemoteAddress+´ - Protegido!´); end else if sRecebe = ´#libera´ then begin ShowWindow(FindWindow(nil,´Program Manager´),SW_SHOW); BarraTarefas(True); Socket.SendText(Socket.RemoteAddress+´ - Liberado!´); end else ListRecebe.Items.Add(sRecebe); end;
oxe, até ai blz na mesma máquina funcionou legal... daí fui colocar em duas máquinas, mudei o IP claro e ficou assim
Address = 192.168.254.1
Host = 192.168.254.1 - [i:f3c8fa0060]Me corrijam se estiver errado, mais aqui é o IP q o ServerSocket pega para identificar a chamada né??[/i:f3c8fa0060]
pronto, daí quando vou testar a comunicação do Serv com Client nas máquinas KD não dar nenhum sinal só o erro 10061 que pelo que já vi aqui no forum é quando o ClientSocket não encontra o ServerSocket...
e ai, alguém pode me dar uma ajudinha... :roll:
grato!
Paullsoftware
Curtir tópico
+ 0Posts
11/08/2005
Massuda
Para saber se sua rede está OK, experimente dar um PING do cliente para o servidor; no Prompt do DOS, na máquina onde está o programa cliente, dê o seguinte comando...
PING 192.168.254.1
Se o PING tiver sucesso, mas você continua sem ter sucesso, pode ser que na máquina onde está o programa servidor tenha algum firewall ativo; nesse caso, você precisa liberar (no firewall) a porta que você está usando.
Gostei + 0
11/08/2005
Paullsoftware
eu trabalho normal com o sistema da empresa...
sem falar no fato q uso Modem Adsl Bidgre (Convertido em Router), mais com IP fixos...
e consigo acessar as máqunas numa Boa tanto por meio de ping quanto por meio de Ambiente de Rede...
Gostei + 0
11/08/2005
Massuda
Gostei + 0
11/08/2005
Paullsoftware
eu tb não tenho muita experiencia com eles, daí pensei que estivesse fazendo algo de errado... vlw pela ajuda...
vou tentar novamente eu outras máquinas....
só que as que tentei não possuem firewall, e usam win98 as duas...
vou testar na sala de aula todas são windows xp será q vai funcionar... :wink:
eu to tentando aprender indy, me desseram q é melhor q sockets, valeu pela ajuda um abraço... :wink:
Gostei + 0
22/08/2005
Geisonc
[]s
Gostei + 0
22/08/2005
Paullsoftware
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)