Fórum Sockets - Funciona não Funfa na rede só no mesmo PC... PQ? #291474

11/08/2005

0

ae galera dúvida é a seguinte:

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

Paullsoftware

Responder

Posts

11/08/2005

Massuda

No TClientSocket deixe a propriedade Host em branco (você não precisa dela porque você está informando o Address).

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 tiver sucesso, sua rede está OK e, a princípio, seu programa devia funcionar.

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.


Responder

Gostei + 0

11/08/2005

Paullsoftware

a rede está filé...

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...


Responder

Gostei + 0

11/08/2005

Massuda

...consigo acessar as máqunas numa Boa tanto por meio de ping quanto por meio de Ambiente de Rede...
O fato do Ambiente de Rede funcionar não implica que a parte de TCP/IP esteja OK (pois o Windows pode utilizar vários protocolos simultaneamente), mas como você disse que o ping funciona, a única coisa que me ocorre é ser um problema de firewall. Mas eu não tenho muita experiência com esses componentes, posso estar enganado.


Responder

Gostei + 0

11/08/2005

Paullsoftware

blz massuda...

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:


Responder

Gostei + 0

22/08/2005

Geisonc

E ai, caso ainda nao tenha resolvido seu problema, nas configurações do modem vc já viu se estao liberadas estas portas que vc esta usando ?


[]s


Responder

Gostei + 0

22/08/2005

Paullsoftware

sim estão as portas 5555 está liberada, na configuração interna do modem, [b:a8a1e4964b]Port Forwarding [/b:a8a1e4964b] e desativei o firewall dele tb...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar