ich möchte eine Verbindung zu einem IRC-Server via Sockets herstellen. Nachdem etwas Zeit vergangen ist, bekomme ich den PingTimeout, aber habe nie zuvor ein PING bekommen (deshalb sendet mein Programm auch nie ein PONG). Warum ?
Host: irc.euirc.net
Port: 6667
User-ID: controller
Client ist TClientSocket.
Verbindung herstellen:
Code: Alles auswählen
with Client do
begin
Host := eHost.Text;
Port := StrToInt(ePort.Text);
Open;
end;
Code: Alles auswählen
procedure TfrmMain.ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
with Client.Socket do
begin
SendText('NICK testnick');
SendText('USER ' + eiD.Text + ' "" "'+ eHost.Text +'" :1337');
end;
end;
Code: Alles auswählen
procedure TfrmMain.ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var s : String;
begin
s := Socket.ReceiveText;
m.Lines.Add(s);
if Pos('PING', s) > -1 then
begin
s := 'PONG' + StringReplace(s, 'PING', '', [rfReplaceAll]);
Socket.SendText(s);
end;
end;