Erro: ClientSocket / ServeSocket
Olá Pessoal!
Estou com uma dúvida.
Eu adorei o artigo sobre Programação em Delphi com Sockets, implementei e foi um sucesso.
Mas eu queria enviar msg para várias pessoas de uma vez, então, criei uma Tstringlist contendo o endereço ip das pessoas que eu queria enviar, mas ocorria o seguinte erro: Project Cliente.exe raised exception class ESocketError with message ´Asynchronous socket error 10061´. Process stopped. Use Step or Run to continue.
Vc´s poderiam me ajudar a resolver esse problema?
:cry:
Estou com uma dúvida.
Eu adorei o artigo sobre Programação em Delphi com Sockets, implementei e foi um sucesso.
Mas eu queria enviar msg para várias pessoas de uma vez, então, criei uma Tstringlist contendo o endereço ip das pessoas que eu queria enviar, mas ocorria o seguinte erro: Project Cliente.exe raised exception class ESocketError with message ´Asynchronous socket error 10061´. Process stopped. Use Step or Run to continue.
Vc´s poderiam me ajudar a resolver esse problema?
:cry:
Ampaline
Curtidas 0
Respostas
Nildo
12/07/2004
Isso quer dizer que precisa ter um Server rodando nos Clients. Um Server, no caso o seu, escutando a porta que você definiu, porque este erro acontece quando não é possível estabelecer a conexão com os clientes
GOSTEI 0
Ampaline
12/07/2004
Olá nildo!
Eu entendi o que vc disse. Vou te explicar melhor o problema.
Eu tenho o cliente e o servidor em todas as máquinas, mas o que está acontecendo é que, eu quero enviar mensagens para várias máquinas apertando um único botão. Para fazer isso criei uma lista contendo os IP´s desejado e pensei na seguinte solução:
for i:=1 to NomeG.Count-1 do
begin
csk_clientsocket.Close;
csk_clientsocket.Address :=copy(NomeG.Strings[i],pos(´;´,NomeG.Strings[i])+1,length(NomeG.Strings[i])); ;
csk_clientsocket.Open;
csk_clientsocket.Socket.SendText(mem_mensagem.Text);
end;
NomeG é uma Stringlist contendo o nome da pessoa e o IP.
Com isso eu pensei que resolveria, mas estava enganada. Me ajude Por FAvor!!!
Eu entendi o que vc disse. Vou te explicar melhor o problema.
Eu tenho o cliente e o servidor em todas as máquinas, mas o que está acontecendo é que, eu quero enviar mensagens para várias máquinas apertando um único botão. Para fazer isso criei uma lista contendo os IP´s desejado e pensei na seguinte solução:
for i:=1 to NomeG.Count-1 do
begin
csk_clientsocket.Close;
csk_clientsocket.Address :=copy(NomeG.Strings[i],pos(´;´,NomeG.Strings[i])+1,length(NomeG.Strings[i])); ;
csk_clientsocket.Open;
csk_clientsocket.Socket.SendText(mem_mensagem.Text);
end;
NomeG é uma Stringlist contendo o nome da pessoa e o IP.
Com isso eu pensei que resolveria, mas estava enganada. Me ajude Por FAvor!!!
GOSTEI 0
Nildo
12/07/2004
Debugue para ver se os IPs estão sendo inseridos corretamente na propriedade Address...
Detalhe, os itens da listBox inicia-se do Zero e não do 1.
Bom, depois que você tiver um IP na sua lista, tente se conectar fora deste FOR. Coloque um TClientSocket, defina o Address como esse IP, defina a porta (não se esqueça da porta) na propriedade Port e tente conectar. Se não conseguir, e seu programa estiver rodando naquele IP, tudo certinho, e a porta do Client for a mesma do Server, então seria algum problema de rede.
Detalhe, os itens da listBox inicia-se do Zero e não do 1.
Bom, depois que você tiver um IP na sua lista, tente se conectar fora deste FOR. Coloque um TClientSocket, defina o Address como esse IP, defina a porta (não se esqueça da porta) na propriedade Port e tente conectar. Se não conseguir, e seu programa estiver rodando naquele IP, tudo certinho, e a porta do Client for a mesma do Server, então seria algum problema de rede.
GOSTEI 0