ich habe die letzten Tage mal angefangen nen neuen IRC-Bot zu schreiben (in c/c++ halt ne Gesunde Mischung ^^).
Ich verbinde zum IRC-Server und fange dann an mit meinem Loop das Socket auszulesen....
Bekomme aber die Informationen so zurück:
Jede Zeile die min Timestamp ist wurde einzelnd (ein Schleifendurchlauf) ausgelesen.Quote:
Fri Jun 30 16:20:27 2006: Connecting to 216.179.62.162:6667
Fri Jun 30 16:20:27 2006: Got Packet: :irc.idlemonkeys.net NOTICE AUTH :*** Looking
Fri Jun 30 16:20:27 2006: Got Packet: up your hostname...
:irc.idlemonkeys.net NOTICE AUTH :*** Found your hostname (cached)
Das Problem was ich nun habe ist:
die erste Zeile wird aus irgendwelchen Gründen in 2 Teilen gesendet / empfangen.
und die letzte Zeile wird mit der davor mitgesendet
Wenn ich das ganze nun mit Telnet machen und z.B. mit Ethereal mitsniffe bekomm ich aber immer alls so wies sein sollte ein einer eigene Zeile
Muss ich erst noch die Daten aneinanderknöpfen bis ein "\n\r" kommt?
Achja:
Die Daten werden in ein unsigned char[1000] gespeichert.
Code:
void sock::listen() { while (1) { recv(Socket, Packet, 1000,0); Log.Write(LOG_PRINT,"Got Packet: %s",Packet); } }
Hat jemand nen Plan woran das liegen könnte?