ChinaUnix.net
相关文章推荐:

linux send recv read write


1、阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 <0:出错,=0:连接关闭,>0接收到数据大小,特别:返回值 <0时并且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情况下认为连接是正常的,继续接收。只是阻塞模式下recv会阻塞着接收数据,非阻塞模式下如果没有数据会返回,不会阻塞着读,因此需要循环读取)。

2...

by freeandeasywu - 数据安全 - 2011-12-20 09:47:31 阅读(1154) 回复(0)

相关讨论

  请问send,recvwrite,read在写通迅程序时,有何区别?哪个更好一些,为什么?

by usedcc - 其他UNIX - 2004-07-15 13:56:26 阅读(982) 回复(0)

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-mar...

by yuyongyu - Linux文档专区 - 2008-08-23 21:42:31 阅读(1442) 回复(0)

我在程序里是用的sendrecv, 在接收几M的报文的时候,就会出现recv返回0,读不到东西了. 发送端在发送N 个包后就堵塞了. 调试了半天,后来换成readwrite就没有问题了 我在recv里也没有什么特别的用法,flag设置为0, 为什么会这样呢?请教大家 不解:(

by 我是马甲 - C/C++ - 2005-10-27 17:31:17 阅读(5519) 回复(7)

刚刚开始学习socket :oops: :oops: :oops: read writerecv send 的 区别是非阻塞 与 阻塞吗?

by wujiajia - C/C++ - 2004-12-11 17:00:26 阅读(11073) 回复(18)

int send(int s, const void *msg, size_t len, int flags); flags取值有: 0: 与write()无异 MSG_DONTROUTE:告诉内核,目标主机在本地网络,不用查路由表 MSG_DONTWAIT:将单个I/O操作设置为非阻塞模式 MSG_OOB:指明发送的是带外信息 int recv(int s, void *buf, size_t len, int flags); flags取值有: 0:常规操作,与read()相同 MSG_DONTWAIT:将单个I/O操作设置为非阻塞模式 MSG_OOB:指明发送的是带外信息 MSG_PEEK:可以查...

by zlm8715 - Linux文档专区 - 2009-07-07 21:50:48 阅读(1181) 回复(0)

请问一下socket中sendrecv是否一一对应? 在客户机中我send一个字符,到服务器机中recv中收 到一个空字符?为什么?谢谢!

by tyffly - C/C++ - 2003-05-07 18:38:48 阅读(1645) 回复(8)

本帖最后由 Roemer 于 2010-04-02 16:58 编辑 [code] /************************************************************************* Fake eth char convert **************************************************************************/ #include <linux/kernel.h> #include <linux/etherdevice.h> #include <linux/netdevice.h> #include <linux/moduleparam.h> #include <linux/errno.h> #include <linux/fcntl.h> #incl...

by Roemer - 嵌入式开发 - 2010-04-02 11:19:40 阅读(1385) 回复(0)

本帖最后由 chenzhanyiczy 于 2011-08-18 13:56 编辑 很简单的问题。 如果在write()的时候发生超时错误,此时close()还会经历这些状态吗(即FIN_WIAT_1->FIN_WAIT_2->TIME_WAIT->CLOSED)? 理由?

by chenzhanyiczy - C/C++ - 2011-08-18 18:40:38 阅读(5573) 回复(17)

服务器端通过while来循环调用send函数批量把一个c 的struct的集合传递到server端,server 端在一个while 循环中用recv函数来接收send过来的数据,有数据的时候就recv没有数据的话自然阻塞在recv调用上,server端是迭代服务器没有做fork模式的并发服务器。 但是最近却发现了一个问题,在客户端数量很多的时候recv过来的struct中经常会少数据,有些struct成员就是空白的,请问为什么会发生这个问题呢???

by oract666 - C/C++ - 2008-09-05 22:08:48 阅读(6771) 回复(17)

如果send 0个字节,同时另一端recv 0个字节,那么sendrecv的返回值各是多少? 突然想到的,身边没机器,跟大牛们请教一下。

by Jass - C/C++ - 2008-01-01 21:06:13 阅读(1706) 回复(3)