ChinaUnix.net
相关文章推荐:

recv函数

发送和接收都会有个缓冲区,如果,发送程序(在主机A)一直向接收程序(在主机B)发送数据,假设期间发送程序发出的数据都能正确的发到接收程序,即,发送程序的send或者write都返回正确,那么如果接受程序一直不去recv或者read,那么数据就回一直在系统的接收缓冲区里面直到接收缓冲区满了为止。。。。那么此时,发送程序还能将数据发到接收程序吗?send或者write能赶会成功吗? 请各位指教。。。。 PS:先搜了一下,好象没我这个...

by alexhappy - C/C++ - 2010-09-06 10:42:06 阅读(2828) 回复(9)

相关讨论

请问recv函数的第4个参数为0时, 表示是阻塞方式还是非阻塞方式?当为MSG_DONTWAIT时为非阻塞!

by woainin - C/C++ - 2005-04-20 12:54:20 阅读(1277) 回复(1)

unix下 recv函数是阻塞的么? 比如 if ((numbytes=recv(sockfd, recv_buffer, MAXDATASIZE, 0)) == -1) { //exit(1); printf("recv error!\n"); } do other; 如果服务器端还没有给我发数据,我是不是一直在recv那儿等待?

by smallfish2186 - C/C++ - 2003-08-25 13:32:31 阅读(1242) 回复(3)

服务器端通过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 阅读(6769) 回复(17)

我在调用recv函数进行UDP协议的信息接收时,发现无法使其超时返回。虽然IO::Socket在新建的时候有一个Timeout的参数可以设置,但查资料说是用于TCP协议中的connect与accept当中的。 我现在要在UDP接收的时候进行设置超时,有什么办法吗? 先多谢各位了!

by robertmaine - Perl - 2004-12-07 22:25:21 阅读(1567) 回复(1)

linux下编制网络聊天程序,遇到这样一个问题,当client和server建立好连接后,第一次互相通话可以成功,即客户端先给服务器端发送数据,服务器端可以收到,然后服务器端给客户端发送数据也可以收到,再之后就有问题了,如果客户端不发送数据服务器端一样可以通过recv()函数接收到数据,接收到的为空,即打印出来为空格,俺道理说recv函数为阻塞函数,只有收到数据才会通过啊,可是为什么会出现上述情况呢?我在同一台机器上做的,开...

by tang79us - C/C++ - 2005-09-02 11:36:07 阅读(11788) 回复(13)

int CSESocket::recvData(char *p_fName, int p_irecvLen, int p_iTimeout) {     int iRet;     char strlog[200+1];     char strRev[CONTENT_LEN+1];     struct timeval timeout;     timeout.tv_sec = 30;     fd_set fdReads;     while(1)     {  ...

by jiangf - C/C++ - 2008-09-15 11:29:34 阅读(5471) 回复(6)

写了一个客户端与服务器端的程序,发现有问题: 服务器端通过send函数将数据发送给客户端的时候,没有问题,存储在sendbuf缓冲区内: "Linux", '\0' , "34\000\000FreeBSD", '\0' , "67\000\000Helo", '\0' , "45", '\0' 以上即为发送的缓冲区的数据。 但是客户端通过套接字函数recv进行接收时,却只接受了“Linux”,请教一下: 如何才能把数据完全读...

by DNS_WXC - C/C++ - 2008-01-23 19:37:59 阅读(8976) 回复(38)

调用recv接受数据的时候怎么能够使它一发现没有数据可收就即刻返回,而不是阻塞在那里直至有数据到来呢?

by holton - C/C++ - 2007-11-01 13:34:14 阅读(2683) 回复(10)

send()返回值小于0的时候,除了EINTER之外,还有多少种错误的可能? recv()同问

by Jass - C/C++ - 2007-06-23 12:18:53 阅读(1778) 回复(2)

我如下调用recv函数 $paddr = recv(SOCKET, $rtime, 4, 0); 得到了一个返回值$hispaddr,资料说再通过如下的代码可以得到对方的地址和PORT ($port, $hisiaddr) = sockaddr_in($paddr); 不过我得到的$hisiaddr的结构我不太了解。 怎样才能把它转换为IP地址呢???求助各位达人 先谢了

by robertmaine - Perl - 2004-12-17 10:16:44 阅读(2026) 回复(1)