recv()不能接收到数据,急,在线等,马上给分!!!

zhouxiangjin 2005-07-30 03:06:48
相关代码:
m_sckTrans = socket(AF_INET, SOCK_STREAM, 0);
... ...
int ret = connect(m_sckTrans, (sockaddr*) &sa, sizeof(sa));
... ...
len = recv(m_sckTrans,(char *)m_bsInfo,sizeof(m_bsInfo),0);
... ...
我测试到len的值就是接收到的数据报的大小,但为什么m_bsInfo数组为空???
请大家帮忙!
...全文
121 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhouxiangjin 2005-07-30
好了,问题出在Server端,谢谢各位啦!!!
回复
gohappy_1999 2005-07-30
char m_bsInfo[4096];->改为BYTE m_bsInfo[4096];
再拿上面的代码测试一下,检查一下是不是发送方发的数据不是字符串?
回复
zhouxiangjin 2005-07-30
char m_bsInfo[4096];
回复
gohappy_1999 2005-07-30
m_bsInfo是什么类型的数组?改为这样试试看
memset(m_bsInfo, 0, sizeof(m_bsInfo));
len = recv(m_sckTrans,m_bsInfo,sizeof(m_bsInfo),0);
看看m_bsInfo里是什么东西?
回复
zhouxiangjin 2005-07-30
各位不是我不发代码,确实相关的代码太多了,还夹杂着一些其他的东西
回复
rongrong_abc 2005-07-30
要让别人给看代码的话,就帖完了,这样能看出什么呀
回复
luibaiyi 2005-07-30
你发一个字符串给它试一下
回复
luibaiyi 2005-07-30
干脆代码贴出来了,要不看不出什么东西出来
回复
zhouxiangjin 2005-07-30
recv()后面我用MessageBox()看了一下m_bsInfo的值,什么也没有
回复
zhouxiangjin 2005-07-30
好像不行,Socket已经建立连接成功,而且返回的len的值是规定的大小
但是数组m_bsInfo却是空的
回复
lifengice0706 2005-07-30
看不出什么问题,麻烦把代码在贴详细点,另外,你是不是就是收到了数个\0呢!?
回复
luibaiyi 2005-07-30
这样试一下
socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)
回复
发帖
网络编程
创建于2007-09-28

1.8w+

社区成员

VC/MFC 网络编程
申请成为版主
帖子事件
创建了帖子
2005-07-30 03:06
社区公告
暂无公告