关于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++控制台程序) 展开
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++控制台程序) 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询