在客户端发送buf
iSend=send(sClient,buf,sizeof(buf),0);
服务器端接收
iLen = recv(sAccept,buf,sizeof(buf),0);
iLen和发送的长度一样,但就是在接收的buf 里面全是0 这个是怎么回事哦?
先谢了
iSend=send(sClient,buf,sizeof(buf),0);
服务器端接收
iLen = recv(sAccept,buf,sizeof(buf),0);
iLen和发送的长度一样,但就是在接收的buf 里面全是0 这个是怎么回事哦?
先谢了
解决方案 »
- 按行解析文件CPU占用率高,该怎么解决呢?
- 关于取高位和低位的问题
- 怎样使得SDI程序要么处于最大化状态,要么处于最小化状态,我已经设为初始化最大
- 请问 ,我该如何控制这个 COMBO BOX? 在线等。。。。
- 从txt文件中读参数,为何读不出,求助高手(很急)
- 请详细解释一下组件和控件的区别?
- 知道汉字内码怎么转换成汉字?急
- 输入的智能识别 (200 分,来着也有分)
- 那里可以下载到lex和yacc(词法分析器和编译器)
- 急急!!!请问我用vc自己从CButton中继承了一个新的button类,要想使我的所用按钮全部变为这个新的button类里面的button,怎么办??
- 旋转位图?
- 紧急求助,如何在属性页中重载ONOK,ONAPPLY等响应?
iLen = sizeof(cli);
while(1)
{
sAccept = accept(sListen,(struct sockaddr *)&cli,&iLen);
if(sAccept==INVALID_SOCKET)
{
AfxMessageBox("accept() Failed",MB_OK,0);
return 0;
}
iLen = recv(sAccept,buf,2,0);
if(iLen == 0)
return 0;
else
if(iLen == SOCKET_ERROR)
{
AfxMessageBox("recv() Failed",MB_OK,0);
return 0;
}
AfxMessageBox(buf,MB_OK,0);
closesocket(sAccept);
closesocket(sListen);
WSACleanup();
return 1;
}
else的内容好像有错误
可能没接收到
else的内容好像有错误 在哪里呢?
没收到可是iLen都返回长度了的
iSend=send(sClient,buf,sizeof(buf),0);
如果buf是char*型,那么就不能用sizeof,这样只是指针的大小,要该写成你传输进去的数据的大小,例如strlen(buf),也可以指定一个比较大的固定值,例如1024;
iLen = recv(sAccept,buf,2,0);
这里接收也要指定大小,指定大点,例如1024没有关系,但是你指定2肯定小了.
我用 i=sizeof(buf) 结果是1024
还有
我都把sizeof(buf)改成1024还是不成啊