comunicacao socket
pessoal, fiz um programa que transfere um arquivo texto via socket. ai fica
funcionando sem problemas, mas em alguns momentos ele da a mensagem
asynchounos error socket 153, como se o servidor estivesse fora do ar. mas
ele esta no ar. reinicia o cliente e volta a funcionar normal. alguem ja viu
alguma coisa?
funcionando sem problemas, mas em alguns momentos ele da a mensagem
asynchounos error socket 153, como se o servidor estivesse fora do ar. mas
ele esta no ar. reinicia o cliente e volta a funcionar normal. alguem ja viu
alguma coisa?
Logos
Curtidas 0
Respostas
Ipc$
10/05/2006
Como vc está transferindo o arquivo ?
GOSTEI 0
Araujojunior
10/05/2006
Eu tinha uns problemas assim, entao antes de conectar eu testava a conexão, pois se já tivessem usado uma vez, quando era na outra dava erro.
GOSTEI 0
Logos
10/05/2006
eu tenho feito esse teste. mas continua o problema
GOSTEI 0
Massuda
10/05/2006
Erro 10053 indica que a comunicação foi abortada porque a máquina que está recebendo os dados não está respondendo; também indica que o problema não é na rede, mas sim no software que recebe os dados.
GOSTEI 0
Logos
10/05/2006
massuda... obrigado pela resposta. veja o codigo que escrevi no evento onread do cliente escrevi o seguinte:
var
Txt:string;
Arquivo:Textfile;
Nomedolog:string;
a:integer;
begin
rx1.Deactivate;
if clientsocket.Active then begin
TXT:=SOCKET.ReceiveText;
ret:= TStringList.create;
Log(´Recebendo Arquivo - ´+socket.RemoteAddress+´:´+inttostr(socket.RemotePort)+´ Inicio:´+DateTimeToStr(Now));
if fileexists(narq3) then deletefile(narq3);
Log(´Recebendo Arquivo - ´+socket.RemoteAddress+´:´+inttostr(socket.RemotePort)+´ Inicio:´+DateTimeToStr(Now));
Log(´Fim Comunicacao : ´+EDTIP.TEXT+´:´+SEDTPROTA.text+´ - Pdv ´+edit13.text+´ Inicio:´+DateTimeToStr(Now));
sBreakApart(txt, ´,´, ret);
ret.SaveToFile(narq3);
RET.FREE;
log(TXT);
Log(´----------------------------------------------------------------------´);
end;
rx1.Activate
existe algum erro ai?
var
Txt:string;
Arquivo:Textfile;
Nomedolog:string;
a:integer;
begin
rx1.Deactivate;
if clientsocket.Active then begin
TXT:=SOCKET.ReceiveText;
ret:= TStringList.create;
Log(´Recebendo Arquivo - ´+socket.RemoteAddress+´:´+inttostr(socket.RemotePort)+´ Inicio:´+DateTimeToStr(Now));
if fileexists(narq3) then deletefile(narq3);
Log(´Recebendo Arquivo - ´+socket.RemoteAddress+´:´+inttostr(socket.RemotePort)+´ Inicio:´+DateTimeToStr(Now));
Log(´Fim Comunicacao : ´+EDTIP.TEXT+´:´+SEDTPROTA.text+´ - Pdv ´+edit13.text+´ Inicio:´+DateTimeToStr(Now));
sBreakApart(txt, ´,´, ret);
ret.SaveToFile(narq3);
RET.FREE;
log(TXT);
Log(´----------------------------------------------------------------------´);
end;
rx1.Activate
existe algum erro ai?
GOSTEI 0
Massuda
10/05/2006
Não trabalho com ClientSocket/ServerSocket. Mas reparei que você testa se ClientSocket está ativo, mas lê Socket... são a mesma coisa?
GOSTEI 0
Logos
10/05/2006
clientsocket e o componete... socket e um parametro que o evento onclientread dispara.. quando como a receber dados do socketserver
GOSTEI 0
Logos
10/05/2006
pessoal, observei o seguinte, quando ocorre esta mensagem no servidor. as estacoes nao conseguem conectar mais ao servidor. a nao ser que reinicie as estacoes... e no servidor de enter.. ja que abre uma tela mostrando essa mensagem e um botao ok. alguem teria alguma sugestao?
obrigado a todos.
obrigado a todos.
GOSTEI 0
Ipc$
10/05/2006
E como o Servidor está mandando para as estações ?
GOSTEI 0