C++ MFC项目的 一个套接字编程问题i求答案 愁死了
一个C++MFC套接字程序问题求答案啊想了半天没找出原因一个服务端一个客服端都是带界面的MFC小程序服务端启动的时候专门开启一个线程负责发送和接收客户端发来的数据客户端也...
一个C++ MFC 套接字程序问题 求答案啊 想了半天没找出原因
一个服务端 一个客服端 都是带界面的MFC小程序
服务端启动的时候专门开启一个线程负责发送和接收客户端发来的数据
客户端也一样 专门开启一个线程负责发送和接收服务端的信息
但是现在问题来了 就是 客户端向服务端发送信息 实现了 服务端能接到相应数据
然后我想把接收到客服端发来的数据 立刻从服务端发送回客服端 死活实现不了
然后我在客服端 这边这条线程这里接收数据这里输出一下(用的是MessageBox) 结果
启动程序就输出 “烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫...............” 因为是while循序
所以不停的输出 为什么会这样呢?? 为什么客户端连接接收不到服务端返回的数据
但是客务端这边我发送数据的数据 服务端能接收 却想发送回来就收不到? 展开
一个服务端 一个客服端 都是带界面的MFC小程序
服务端启动的时候专门开启一个线程负责发送和接收客户端发来的数据
客户端也一样 专门开启一个线程负责发送和接收服务端的信息
但是现在问题来了 就是 客户端向服务端发送信息 实现了 服务端能接到相应数据
然后我想把接收到客服端发来的数据 立刻从服务端发送回客服端 死活实现不了
然后我在客服端 这边这条线程这里接收数据这里输出一下(用的是MessageBox) 结果
启动程序就输出 “烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫...............” 因为是while循序
所以不停的输出 为什么会这样呢?? 为什么客户端连接接收不到服务端返回的数据
但是客务端这边我发送数据的数据 服务端能接收 却想发送回来就收不到? 展开
4个回答
展开全部
服务端:
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);
}
}
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接收和发送 加点验证,保证数据是否正确发送和接收
展开全部
发过来的是空的 没有初始化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字符串没有结尾符 如'\0'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还贴上代码吧,别人好帮你解答!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询