关于socket编程的问题

客户端:connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));//连接请求inti,j,m;for(i=0;i... 客户端:
connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));//连接请求
int i,j,m;
for(i=0;i<10000;i++)
{

char recvBuf[100]={0},a[100],b[1];//发送信息
printf("输入要发送的信息,按Enter 键发送:\n");
for(m=0;m<100;++m)
{
scanf("%c",&a[m]);
if(a[m]=='\n')
{
break;
}
}
a[m+1]='\0';
send(sockClient,a,strlen(a),0);//发送信息

recv(sockClient,recvBuf,100,0);//接收信息
printf("%s\r\n",recvBuf);

}
closesocket(sockClient);
WSACleanup();
}
服务端:
while(1)
{
SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);
int i;
for(i=0;i<100;i++)
{

char recvBuf[100]={0};
recv(sockConn,recvBuf,100,0);
printf("%s\r\n",recvBuf);
//gets(b);

char sendBuf[100],b[100];//发送信息
gets(b);
sprintf(sendBuf,b,inet_ntoa(addrClient.sin_addr));
send(sockConn,sendBuf,strlen(sendBuf),0);

}
closesocket(sockConn);
}
}

运行情况:客户端发送一条信息,服务端会输出信息,然后服务端发送信息,客户端输出信息,以这种方式做循环。但是觉得无法像QQ客户端那样,收发信息没有条数限制,于是想做出QQ客户端不限制收发顺序和条数的效果,该怎么改?(运行在VC++控制台程序)
展开
 我来答
四念住
2015-06-10 · TA获得超过270个赞
知道小有建树答主
回答量:587
采纳率:0%
帮助的人:236万
展开全部
要改的太多了。你这个是非常basic的c/s代码。
你需要学习异步socket. 还有数据包定义。定义消息id. 然后判断消息id,分别处理数据包。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式