PDA

View Full Version : [ICS] onDataAvailable don't works with TCP



arthurprs
07-09-2007, 07:07 PM
Im trying ICS here, i liked a lot, its vry simple and works fine

Im having only a proble,
onDataAvailable event only works in UDP protocol

on TCP the event simply don't trigger :?

What im doing wrong ?

code:

procedure TForm1.initsocketClick(Sender: TObject);
begin
socket.Proto := 'tcp';
socket.Port:= '47110';
socket.Addr := '127.0.0.1';
socket.Listen;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
client.Proto := 'tcp';
client.Port := '47110';
client.Addr := '127.0.0.1';
client.Connect;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
client.SendStr(InputBox('','',''));
end;

procedure TForm1.socketDataAvailable(Sender: TObject; ErrCode: Word);
begin
ShowMessage(socket.ReceiveStr);
end;

if i chage tcp to udp it works fine :?

arthurprs
08-09-2007, 08:46 PM
Someone please help me, i don't have found a solution :?

Paizo
10-09-2007, 12:27 PM
i got a something like that when i used standard tcp components on delphi 5.

try to store the data in a variable before print it



procedure TForm1.socketDataAvailable(Sender: TObject; ErrCode: Word);
var
temp_data: string;
begin

temp_data:= socket.ReceiveStr;
ShowMessage(temp_data);
end;

arthurprs
11-09-2007, 06:13 PM
i got a something like that when i used standard tcp components on delphi 5.

try to store the data in a variable before print it



procedure TForm1.socketDataAvailable(Sender: TObject; ErrCode: Word);
var
temp_data: string;
begin

temp_data:= socket.ReceiveStr;
ShowMessage(temp_data);
end;

But the event is now launched while on TCP, only on udp,

i already checked linemode its False ;/