linux socket read 返回值错误码 57

时间: 2024-01-10 10:03:10 浏览: 24
错误码 57 对应的是 "WSAENOTCONN",它表示一个套接字没有连接就试图发送或接收数据。在 Linux 下,对应的错误码是 "ENOTCONN"。 通常情况下,这个错误码会在调用未连接套接字的 recv 函数时出现。在调用 recv 函数之前,你需要先使用 connect 函数来建立连接。如果你已经建立了连接,但是仍然遇到了这个错误码,可能是因为连接已经被关闭,你需要重新建立连接。
相关问题

linux socket read 返回值错误码 -57

在 Linux 中,socket read 函数返回值为负数时一般表示出现了错误,而正数则表示读取到的字节数。错误码的取值范围为负数,通常在 errno.h 头文件中定义。但是,错误码 -57 在 errno.h 中并没有定义,因此可能是由于其他原因导致的错误,或者是由于程序自己定义的错误码。 如果您的程序定义了错误码 -57 并且与 socket read 函数有关,那么这个错误码的具体含义需要参考您程序中的代码实现。如果您的程序没有定义错误码 -57,那么可能是其他原因导致的错误,您可以尝试查看错误信息或者调试程序来定位问题。

linux socket read 返回值错误码 58

错误码 58 对应的是 "WSAESHUTDOWN",它表示一个之前已经调用 shutdown 函数的套接字在进行进一步操作时出错了。在 Linux 下,对应的错误码是 "ESHUTDOWN"。 通常情况下,这个错误码会在调用已经关闭的套接字的 recv 函数时出现。如果你需要在已经关闭的套接字上进行进一步操作,你需要重新创建一个新的套接字并绑定到相同的地址上。

相关推荐

int server_socket_init(){ int server_sockfd; struct sockaddr_in server_address; server_sockfd = socket(AF_INET, SOCK_STREAM, 0);//建立服务器端socket if(server_sockfd < 0 ) return -1; bzero(&server_address,sizeof(server_address)); server_address.sin_family = AF_INET; //server_address.sin_addr.s_addr = htonl(INADDR_ANY); //本机 server_address.sin_addr.s_addr = inet_addr(SERVER_IP); server_address.sin_port = htons(SERVER_PORT); if(bind(server_sockfd, (struct sockaddr *)&server_address,sizeof(server_address)) < 0 ) { close(server_sockfd); return -1; } if(listen(server_sockfd, 5) < 0) { close(server_sockfd); return -1; } return server_sockfd; } int server_Listening(int server_sockfd) { struct sockaddr_in client_address; int client_sockfd, ret = 0; int select_result,fd,client_len,data_size; struct timeval timeout; fd_set readfds, testfds; FD_ZERO(&readfds); FD_SET(server_sockfd, &readfds); while(1) { //每一轮监听后结构体被清0,每监听完一轮就要对结构体重新赋值,指定监听对象 testfds = readfds; timeout.tv_sec = 2; timeout.tv_usec = 500000; select_result = select(FD_SETSIZE, &testfds,NULL,NULL,NULL); if (select_result < 0) { return -1; } //perr_exit("select error"); for(fd = 0; fd < FD_SETSIZE; fd++) /*扫描所有的socket(文件)描述符*/ { if(FD_ISSET(fd,&testfds))/*找到可以读写相关socket(文件)描述符*/ { if(fd == server_sockfd) //为服务器socket,是则表示为客户请求连接。 { client_len = sizeof(client_address); client_sockfd = accept(server_sockfd,(struct sockaddr *)&client_address,&client_len); if(client_sockfd < 0) return -1; FD_SET(client_sockfd, &readfds);//将客户端socket加入到集合中 } else //客户端socket中有数据请求时 { ioctl(fd, FIONREAD, &data_size);//nread得到fd缓冲区的大小,就是当client写入缓冲区,这操作是读取缓冲区的大小 // n=read(fd,buf,sizeof(buf));//n即和nread一致 /*客户数据请求完毕,关闭套接字,从集合中清除相应描述符 */ if(data_size == 0) { //test FASTCGI_LOG("\n client_close_remore :%d\n\n\n\n",fd); close(fd); FD_CLR(fd, &readfds); } else if(!PerformServerTransfer(fd)){ return -1; } } } } } }这个是tcp server端有误么

最新推荐

recommend-type

java经典面试2010集锦100题(不看你后悔)

A) 重载方法的返回值必须相同。 B) 重载方法的参数必须有不同之处。 C) 重载方法的名字必须相同,否则就不能称为重载了。 D) 重载方法的返回类型相不相同都可以。 题目23:d 程序如下: class A { static int ...
recommend-type

tensorflow-2.9.2-cp39-cp39-win-amd64.whl

python爬虫案例
recommend-type

2023年下半年计算机等级考试-公共基础-WPS-PS.zip

2023年下半年计算机等级一级考试Photoshop考点梳理 2023年下半年计算机等级一级考试WPS office考点汇总 2023年下半年计算机二级考试公共基础知识科目考点汇总 根据实际考试情况进行的总结。
recommend-type

Introduction to Data Science Data With R 英文

Introduction to Data Science Data Analysis and Prediction Algorithms with R 英文原版,完整带目录,非常好的数据分析资料,有基于R的完整数据分析过程
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

从键盘输入一段英文字符串,其中包含多个字母‘h',请编写程序利用正则表达式,将英文字符串中的’h'全部改为‘H’

好的,我可以帮您解决这个问题。 您可以使用 Python 编写一个程序来实现这个功能。具体步骤如下: 1. 首先导入 re 模块,这个模块是 Python 中用于处理正则表达式的模块。 2. 然后定义一个包含英文字符串的变量,例如: text = "This is a string containing multiple h's." 3. 接下来,使用 re.sub() 方法来进行替换操作。re.sub() 方法的第一个参数是正则表达式,第二个参数是替换的字符或字符串,第三个参数是被替换的字符串。在这个例子里,我们需要将所有的小写字母 h 替换成大写字母 H,所以正则表达式可以写成
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。
recommend-type

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依