社区
网络编程
帖子详情
recv接收不到字符串
taft
2004-08-10 06:48:15
在客户端发送buf
iSend=send(sClient,buf,sizeof(buf),0);
服务器端接收
iLen = recv(sAccept,buf,sizeof(buf),0);
iLen和发送的长度一样,但就是在接收的buf 里面全是0 这个是怎么回事哦?
先谢了
...全文
194
15
打赏
收藏
recv接收不到字符串
在客户端发送buf iSend=send(sClient,buf,sizeof(buf),0); 服务器端接收 iLen = recv(sAccept,buf,sizeof(buf),0); iLen和发送的长度一样,但就是在接收的buf 里面全是0 这个是怎么回事哦? 先谢了
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xujungood
2004-08-11
打赏
举报
回复
接受端的缓冲区大小才2个字节?
自由的风
2004-08-11
打赏
举报
回复
调试呗,那么几行代码任谁也看不出问题,况且还只有recv端的代码,谁知道你的send端是否正确
taft
2004-08-11
打赏
举报
回复
我把2改为 sizeof(buf)
bluwindhrt
2004-08-11
打赏
举报
回复
你才接收两个字节,就算发送方是有效的数据,这前两个字节都为0也不是不可能啊!
VCSQLVB
2004-08-11
打赏
举报
回复
你的接受端仅能正常接收一次,如果客户端再次发送数据(没重新连接的话),将失败。
VCSQLVB
2004-08-11
打赏
举报
回复
能否保证发送的数据正常?
cpmax
2004-08-11
打赏
举报
回复
再把发送方贴出来
airsmith_lh
2004-08-10
打赏
举报
回复
自己怕是发送端发的数据本身就是零
oyljerry
2004-08-10
打赏
举报
回复
这么奇怪的问题!要不设break单步调试看看
taft
2004-08-10
打赏
举报
回复
to howtotell
我用 i=sizeof(buf) 结果是1024
还有
我都把sizeof(buf)改成1024还是不成啊
howtotell
2004-08-10
打赏
举报
回复
下面两句都有问题.
iSend=send(sClient,buf,sizeof(buf),0);
如果buf是char*型,那么就不能用sizeof,这样只是指针的大小,要该写成你传输进去的数据的大小,例如strlen(buf),也可以指定一个比较大的固定值,例如1024;
iLen = recv(sAccept,buf,2,0);
这里接收也要指定大小,指定大点,例如1024没有关系,但是你指定2肯定小了.
taft
2004-08-10
打赏
举报
回复
char buf[1024];
else的内容好像有错误 在哪里呢?
没收到可是iLen都返回长度了的
PingJie
2004-08-10
打赏
举报
回复
buf是什么类型的?
else的内容好像有错误
可能没接收到
taft
2004-08-10
打赏
举报
回复
接收代码:
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;
}
cpmax
2004-08-10
打赏
举报
回复
把代码帖出来看一下!
socket编程中
recv
函数
接收
到的
字符串
乱码解决方法
for(int i = 0; i < 2; i++){
recv
_len =
recv
(s_server,
recv
_buf, 40, 0); if (
recv
_len < 0) { cout << "接受失败!" << endl; break; } else { cout << "服务端信息:" <<
recv
_buf << endl; } cin >> send_buf; send_len =
c 语言定义
字符串
接收
数据,C语言中经socket
接收
数据的相关函数详解
recv
()函数:头文件:#include #include 定义函数:int
recv
(int s, void *buf, int len, unsigned int flags);函数说明:
recv
()用来
接收
远端主机经指定的socket 传来的数据, 并把数据存到由参数buf 指向的内存空间, 参数len 为可
接收
数据的最大长度.参数 flags 一般设0. 其他数值定义如下:1、MSG...
python socket.
recv
() 一直不停的返回空
字符串
原因。
python socket.
recv
() 一直不停的返回空
字符串
原因。 我遇到的是,因为客户端异常断开连接,之后服务端就一直
接收
到空
字符串
。 这样会无法分辨是客户端真的发了一个空串还是怎么样。 下面是复现问题的demo。 先运行server端: # coding=utf-8 import socket if __name__ == '__main__': host = 'localhost' port = 8765 server = socket.socket(sock
python socket.
recv
() 一直不停的返回空
字符串
,客户端怎么判断连接被断开?
python socket.
recv
() 一直不停的返回空
字符串
,客户端怎么判断连接被断开?
c语言tcp根据
字符串
接收
数据,分别通过TCP套接字发送和
接收
字符串
我有一个TCP服务器和客户端,并带有已建立的套接字。比方说,我有以下情况:分别通过TCP套接字发送和
接收
字符串
SERVER:char *fn = "John";char *ln = "Doe";char buffer[512];strcpy(buffer, fn);send(*socket, buffer, strlen(buffer), 0);strcpy(buffer, ln);send(*s...
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章