Socket编程,出现 Socket operation on non-socket 错误的原因
2009-11-18 13:07
417 查看
Socket operation on non-socket 错误出现有两种情况:
1. 建立socket:
if(listenfd= socket(AF_INET,SOCK_STREAM, 0)==-1){
perror("creating socket failed!");
exit(-1);
}
会造成在bind时出现 Socket operation on non-socket错误
正确的代码应该是:
if((listenfd = socket(AF_INET, SOCK_STREAM, 0)) == -1){
perror("creating socket failed!");
exit(-1);
}
2. accept时:
if(connfd=accept(listenfd,(struct sockaddr *)&client_addr,(socklen_t *)&sin_size)==-1){
perror("accept error!");
exit(-1);
}
会造成在recv时出现 Socket operation on non-socket错误
正确代码是:
if((connfd=accept(listenfd,(struct sockaddr *)&client_addr,(socklen_t *)&sin_size))==-1){
perror("accept error!");
exit(-1);
}
出现Socket operation on non-socket 错误的原因是:
if(listenfd= socket(AF_INET,SOCK_STREAM, 0)==-1)
if(connfd=accept(listenfd,(struct sockaddr *)&client_addr,(socklen_t *)&sin_size)==-1)
这两句中缺失了()造成的。赋值符合优先级最低,导致listenfd和connfd在创建/连接成功是为0,不成功时为1
1. 建立socket:
if(listenfd= socket(AF_INET,SOCK_STREAM, 0)==-1){
perror("creating socket failed!");
exit(-1);
}
会造成在bind时出现 Socket operation on non-socket错误
正确的代码应该是:
if((listenfd = socket(AF_INET, SOCK_STREAM, 0)) == -1){
perror("creating socket failed!");
exit(-1);
}
2. accept时:
if(connfd=accept(listenfd,(struct sockaddr *)&client_addr,(socklen_t *)&sin_size)==-1){
perror("accept error!");
exit(-1);
}
会造成在recv时出现 Socket operation on non-socket错误
正确代码是:
if((connfd=accept(listenfd,(struct sockaddr *)&client_addr,(socklen_t *)&sin_size))==-1){
perror("accept error!");
exit(-1);
}
出现Socket operation on non-socket 错误的原因是:
if(listenfd= socket(AF_INET,SOCK_STREAM, 0)==-1)
if(connfd=accept(listenfd,(struct sockaddr *)&client_addr,(socklen_t *)&sin_size)==-1)
这两句中缺失了()造成的。赋值符合优先级最低,导致listenfd和connfd在创建/连接成功是为0,不成功时为1
相关文章推荐
- Socket operation on non-socket 错误出现有两种情况:
- socket operation on non-socket 的原因
- TCP socket连接错误: socket operation on non-socket
- Android studio编程时出现的错误:unspecified on project app resolves to an APK archive which is not supported
- linux下socket编程accept出现参数错误
- 解决方法:Cannot connect to VM Socket operation on nonsocket: configureBlocking
- socket bind error:Socket operation on non-socket
- socket operation on non-socket
- phpmailer发送邮件出现错误:stream_socket_enable_crypto(): SSL operation failed with code 1.
- 在liunx下经常出现java.net.SocketException: Too many open files错误是什么原因
- 运行python程序时出现错误“SyntaxError: Non-ASCII character '\xe8' in file variable.py on line 1, but no encod”
- socket perror 为operation on non-socket 解决
- bind socket error:Socket operation on non-socket(errno:88)出错处理
- android studio编程时出现的错误:Cannot get property 'XXXX' on extra properties extension as it does not exis
- python出现中文错误:SyntaxError: Non-ASCII character '\xe7' in file car-training.py on line 7, but no encod
- bind socket error:Socket operation on non-socket(errno:88)出错处理
- socket perror 为operation on non-socket 解决
- socket: Socket operation on non-socket
- vsftpd[9183]: warning: can't get client address: Socket operation on non-socket
- android studio编程时出现的错误:Cannot get property 'XXXX' on extra properties extension as it does not exist