simpler Konsolen IRC-Client, nicht alle nachrichten werden gesendet
-
Hallo,
wollte mir nen kleinen konsolen basierten irc chat clienten programmieren,
habe da aber ein paar schwierigkeiten:ich erstelle den socket, verbinde auch erfolgreich mit dem IRC server,
sende ihm auch USER x x x x x und NICK x und ein Pong zurueck.wenn ich nun anschliessend befehle eingebe wie z.b.
PRIVMSG #channel :Hallokommt das Hallo nur jedes 4.-5. mal an, woran liegt das ? hier der relevante code:
while (true) { //leere read_fds FD_ZERO(&read_fds); //setze flags fuer read_fds FD_SET(STDIN_FILENO,&read_fds); FD_SET(sock,&read_fds); //ueberprueft wo was anliegt err = select(max_socket+1, &read_fds, NULL, NULL, NULL); if (FD_ISSET(STDIN_FILENO, &read_fds)) { //leere message bzero(message,MSGLEN); //lese nachricht von stdin err = read(STDIN_FILENO,message,MSGLEN); err = write(sock,message,MSGLEN); } if (FD_ISSET(sock, &read_fds)) { //puffer wieder leeren bzero(message,MSGLEN); //empfange Nachricht err = read(sock,message,MSGLEN); printf("%s",message); } }
habe mal die ganzen fehlerabfragen zur uebersichtlichkeit rausgelassen. wo liegt mein fehler ?
MSGLEN = 510
max_socket ermittle ich vor der whileschleife.mfg
KungFuZius