C++ MFC项目的 一个套接字编程问题i求答案 愁死了

一个C++MFC套接字程序问题求答案啊想了半天没找出原因一个服务端一个客服端都是带界面的MFC小程序服务端启动的时候专门开启一个线程负责发送和接收客户端发来的数据客户端也... 一个C++ MFC 套接字程序问题 求答案啊 想了半天没找出原因
一个服务端 一个客服端 都是带界面的MFC小程序

服务端启动的时候专门开启一个线程负责发送和接收客户端发来的数据
客户端也一样 专门开启一个线程负责发送和接收服务端的信息

但是现在问题来了 就是 客户端向服务端发送信息 实现了 服务端能接到相应数据

然后我想把接收到客服端发来的数据 立刻从服务端发送回客服端 死活实现不了

然后我在客服端 这边这条线程这里接收数据这里输出一下(用的是MessageBox) 结果
启动程序就输出 “烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫...............” 因为是while循序
所以不停的输出 为什么会这样呢?? 为什么客户端连接接收不到服务端返回的数据
但是客务端这边我发送数据的数据 服务端能接收 却想发送回来就收不到?
展开
 我来答
没事就抠脚的大汉
2012-01-04 · TA获得超过340个赞
知道小有建树答主
回答量:381
采纳率:0%
帮助的人:163万
展开全部
服务端:

SOCKET client;
while(1)
{
client =accept(server,NULL,NULL);
if(client!=INVALID_SOCKET)
{
//创建客户线程处理客户数据
}
}
客户线程
SOCKET client =*(SOCKET*)lParam;
char buf[1024];
int len =0;
while(1)
{
len =recv(client,buf,1024,0);
if(len>0)
{
//信息原封不动发回客户端
send(client,buf,len,0);
}
else
{// 客户端断线,终止循环关闭线程
closesocket(client);
break;
}
}
return 0;
}

客户端:
connect 之后创建线程
char buf[1024];
int len;
while(1)
{
len =recv(client,buf,1024,0);
if(len>0)
{
buf[len]='\0';
MessageBox(NULL,buf,NULL,MB_OK);
}
}
更多追问追答
追问
哥 我用的是 udp  不是 tcp的
追答
udp接收和发送 加点验证,保证数据是否正确发送和接收
百度网友96aa8d3
2012-01-04 · TA获得超过433个赞
知道小有建树答主
回答量:2306
采纳率:75%
帮助的人:954万
展开全部
发过来的是空的 没有初始化
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jianwenh
2012-01-03 · TA获得超过333个赞
知道小有建树答主
回答量:432
采纳率:0%
帮助的人:340万
展开全部
字符串没有结尾符 如'\0'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shmilyxrr
2012-01-04
知道答主
回答量:11
采纳率:0%
帮助的人:4.6万
展开全部
还贴上代码吧,别人好帮你解答!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式