1. 首页 > 科技

Linux socket 使用recv函数遇到错误 non-socket是哪里出了问题?

linux 下socket的recv函数返回值问题

Linux socket 使用recv函数遇到错误 non-socket是哪里出了问题?

说清楚一点,是UDP还是TCP不管怎么说,在recv之前调用一下select(),检查缓. return -1; } if (FD_ISSET(sck, &er)) { nperror("socket(shutdown)"); return -1; }//end if if.

linux 下 socket编程的一个小问题 代码贴出来了 程序编译完全没有问题

问题:1:accept 最后的参数出错;2:编程规范严重不足3:出错异常没有检测,以致问题很难发现还要注意printf函数说明,这是带缓冲行打印接口,字符串最后最好带回.

.但在我的linux运行老是提示bind:Socket operation on non - socket 哪位

建议:1. 可以输入命令:rpm -qa |grep bind 查询是否正确安装了bind软件包;2. 如果没有安装,到相应的官方网站下载bind软件包,使用命令:rpm -ivh bind软件包全名.rpm进行安装,应该就可以正常使用了.

linux中的socket编程的问题,recv函数收到的全是0

1、recv是socket编程中最常用的函数之一,在阻塞状态的recv有时候会返回不同的值,而对于错误值也有相应的错误码,分别对应不同的状态.2、recv函数只是在用户空间定义的.内核空间有与之对应的函数,也就是说,执行recv函数就会调用到内核中与它对应的函数,实际起作用的就是内核里的这个函数.至于内核里调用的是那个函数,内核里的调用关系复杂的很,除非对内核非常了解的,才会找到到底是怎么调用的,他也是只是找到怎么调用的.

socket中的recv和send都有错,怎么解决

是这样的,你的通信是同步的,所以recv一直处于接收状态,只有接收到数据才会执行下一步.改进:可以循环等待接收,在循环里可以处理recv:1、使用setsockopt设置超时时间.2、添加select等异步处理(里面也可以设置时间).PS:个人建议:你若急着完成任务可以采用1,若你是学习状态,可以学习一下select等异步通信

linux 下调用recv函数,死循环在recv函数里面,什么原因?

建议你用strace看那几个线程确切是卡在哪里而且你描述的是,死循环. recv函数怎么会死循环?还有,当你的系统压力变大的时候, 会出现epoll提示某socket可用,但是.

调用recv函数为何会失败?

可能是当前Socket 没有数据到达,按照你上面所说的来推测,估计你使用了非阻塞的recv() ..

linux socket阻塞recv怎么返回

recv是socket编程中最常用的函数之一,在阻塞状态的recv有时候会返回不同的值,而对于错误值也有相应的错误码,分别对应不同的状态,下面是我针对常见的几种网络.

用socket send数据成功,但是在recv卡住了,是不是我代码有问题?

因为你根本没收到回文,recv直接卡死很正常, 到网上搜索非堵塞SOCKET 解决这个堵死问题.

socket 编程 recv问题

这取决于你使用的协议.一般使用socket都是使用tcp协议socket(af_inet, sock_stream, 0),或者是udp协议socket(af_inet, sock_dgram, 0).当然还有原始套接口和unix域协.