[cpIRC] fdopen failed: Bad file descriptor
Ostatnio zmodyfikowano 2012-06-08 16:28
pawajoro Temat założony przez niniejszego użytkownika |
[cpIRC] fdopen failed: Bad file descriptor » 2012-06-08 12:40:56 Jest fragment kodu (z biblioteki cpIRC)
int IRC::start( char * server, int port, char * nick, char * user, char * name, char * pass ) { #ifdef WIN32 HOSTENT * resolv; #else hostent * resolv; #endif sockaddr_in rem; if( connected ) return 1; irc_socket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ); if( irc_socket == INVALID_SOCKET ) { return 1; } resolv = gethostbyname( server ); if( !resolv ) { closesocket( irc_socket ); return 1; } memcpy( & rem.sin_addr, resolv->h_addr, 4 ); rem.sin_family = AF_INET; rem.sin_port = htons( port ); if( connect( irc_socket,( const sockaddr * ) & rem, sizeof( rem ) ) == SOCKET_ERROR ) { #ifdef WIN32 printf( "Failed to connect: %d\n", WSAGetLastError() ); #endif closesocket( irc_socket ); return 1; } dataout = fdopen( irc_socket, "w" ); if( !dataout ) { fprintf( stderr, "fdopen failed: %s\n", strerror( errno ) ); closesocket( irc_socket ); return 1; } connected = true; cur_nick = new char[ strlen( nick ) + 1 ]; strcpy( cur_nick, nick ); fprintf( dataout, "PASS %s\r\n", pass ); fprintf( dataout, "NICK %s\r\n", nick ); fprintf( dataout, "USER %s * 0 :%s\r\n", user, name ); fflush( dataout ); return 0; } }
Program kompiluje się normalnie, jednakże program mi wyrzuca:
fdopen failed: Bad file descriptor
Co robić? |
|
DejaVu |
» 2012-06-08 15:47:10 |
|
pawajoro Temat założony przez niniejszego użytkownika |
» 2012-06-08 16:28:36 Czy będzie tu stosowane zastosowanie send() zamiast fprintf() ? |
|
« 1 » |