我将buf设得很大,为什么一次还是接收不完
[code]
#include
by yjfuk - C/C++ - 2006-07-06 15:32:42 阅读(4957) 回复(6)
服务器端 RedHat: int mySock = socket(AF_INET, SOCK_STREAM, 0); sockaddr_in myAddr; myAddr.sin_family=AF_INET; myAddr.sin_port=htons(81); myAddr.sin_addr.s_addr=INADDR_ANY; bind(mySock,(sockaddr*)(&myAddr),sizeof(sockaddr)); listen(mySock,5); int newSock; sockaddr_in clientAddr; socklen_t addrLen=sizeof(clientAddr); char recvBuf[100]={0}; while(1) ...
下面为一段学习测试程序,使用socket下载webserver上的gif文件,然后保存在本地。 现在程序已经能够把server上的文件保存在本地,而且字节也相等(我是直接查看文件属性看的)。 问题是:下载的gif文件不能正确显示,不能显示为一张图片。 测试环境: ------------------ gcc version 3.4.2(mingw-special) windows xp -------------------- int main(int ac,char *av[]) { char pack[1024] = {0} ; sprintf(pack,"GE...
本人使用该程序与一台本地通信设备建立数据通信.发送正常的帧(MsgList)时,recv方法能够接收到数据。但如果发送非正常的帧(即通信设备不会应答该帧),则程序就一直阻塞在recv方法那里,无法抛出异常。请教各位,怎么使得程序可以检查出对方无数据从socket发送过来,从而让recv抛出异常。使用select来检查吗? (附:本人使用while的原因是由于应答帧可能是由远程通信设备产生,经过本地设备中转而来,这中间需要消耗一定的时间,当...
我在写一个socket程序时候, 发送完后消息包后,再接收应答消息, read函数 但是有时候会报一个 errno =84 错误,Invalid or incomplete multibyte or wide character, 请问这是什么原因造成的 if (write(g_sockfd,bind_data,SGIP_HEAD_BASE_LEN+SGIP_ORDER_BASE_LEN)<0) { printf("Write order failed!\n"); return -1; } printf("write order ok!\n"); memset(recv_buf, 0, sizeof(recv_buf)); ret = ...
发送get http://..................http请求,接受的时候 while(1) { re=recv(socketfd,buff,size_buff); } 是否每一次都会返回http头呢? 还是只有第一次才返回http头数据
如题: 用read接收时,提示Transport endpoint is not connected 是ENOTCONN 错误 发生的频率是30%,大部分是能成功的 用recv接时时,提示No such file or directory,recv返回是-1.perror提示的结果,ENOENT 请问各位高手,这个问题要怎么解决呢?哪里的问题?
linux下编制网络聊天程序,遇到这样一个问题,当client和server建立好连接后,第一次互相通话可以成功,即客户端先给服务器端发送数据,服务器端可以收到,然后服务器端给客户端发送数据也可以收到,再之后就有问题了,如果客户端不发送数据服务器端一样可以通过recv()函数接收到数据,接收到的为空,即打印出来为空格,俺道理说recv函数为阻塞函数,只有收到数据才会通过啊,可是为什么会出现上述情况呢?我在同一台机器上做的,开...