Irc

Hi,
Kann mir jemand sagen warum folgender programm code nicht funktioniert wie er sollte :smile: ? Der Socket kram geht, ich bekomme wenn ich recv() mache auch Daten vom IRC server zurück in der form :

-212.63.23.235- *** Looking up your hostname

-212.63.23.235- *** Checking Ident

-212.63.23.235- *** Found your hostname

-212.63.23.235- *** Got ident response
aber irgendwie geht es trotzdem nicht ! die Informationen wie man sich im einzelnen am Irc Server ‚anmeldet‘ sind von
ftp://ftp.irc.org/irc/docs/rfc2812.txt

int main(int argc, char* argv[])
{
WORD version = MAKEWORD(1,1);
WSADATA wsaData;
LPHOSTENT lpHostEntry;
int ErrorCode;

WSAStartup(version, &wsaData);

lpHostEntry = gethostbyname(„irc.quake.inet.fi“);

Socket = socket(AF_INET, SOCK_STREAM,6);
if( Socket == INVALID_SOCKET )
Codon(„Initiazation failed!“);

SOCKADDR_IN ServerInfo;
ServerInfo.sin_family = AF_INET;
ServerInfo.sin_addr = *((LPIN_ADDR)*lpHostEntry->h_addr_list);
ServerInfo.sin_port = htons(port);

printf(„Connect to %s on Port %i \n\n“, servername, port);

ErrorCode = connect(Socket,(struct sockaddr *)&ServerInfo,sizeof(struct sockaddr) );

if( ErrorCode == SOCKET_ERROR )
Codon(„Conenction failed!“);

printf(„Connected to Server…sending request\n\n“);

// Authorize
sprintf(Buffer,„USER %s IRC IRC %s\n“, nickname, realname );
send(Socket,Buffer,strlen(Buffer),0);

recv(Socket,Buffer,sizeof(Buffer),0);
printf("%s\n",Buffer);

sprintf(Buffer,„NICK %s\n“, nickname );
send(Socket,Buffer,strlen(Buffer),0);

printf(„Auth abgeschlossen…\n\n“);

sprintf(Buffer,„JOIN %s\n“,channel );
send(Socket,Buffer,strlen(Buffer),0);

return 0;
}

Hallo!

// Authorize
sprintf(Buffer,„USER %s IRC IRC %s\n“, nickname, realname );
send(Socket,Buffer,strlen(Buffer),0);

Hmmm … die RFC sagt ja:
crlf = %x0D %x0A ; „carriage return“ „linefeed“

Hast du es schon mal mit \r\n statt ein einfaches \n versucht?