C++,为什么客户端连不到服务器端。代码如下:

服务器端://网络编程.cpp:Definestheentrypointfortheconsoleapplication.//#include<winsock2.h>#i... 服务器端:
// 网络编程.cpp : Defines the entry point for the console application.
//
#include<winsock2.h>
#include "stdio.h"
#pragma comment(lib,"ws2_32.lib")
int main(int argc, char* argv[])
{ printf("服务器端程序已启动,等待用户请求的到来........");
WSADATA wsaData;
int ret;
if ((ret=WSAStartup(MAKEWORD(2,2),&wsaData))!=0)
{
printf("初始WinSock化出错!");
return 0;
}
SOCKET listenSocket,acceptSocket;
struct sockaddr_in serv,cliet;
listenSocket=socket(AF_INET,SOCK_STREAM,0);
if(listenSocket==INVALID_SOCKET)
{
printf("建立socket出错\n");
return 0;
}
serv.sin_family=AF_INET;
serv.sin_port=htons(8811);
serv.sin_addr.s_addr=htonl(INADDR_ANY);
if (bind(listenSocket,(LPSOCKADDR)&serv,sizeof(serv))==SOCKET_ERROR)
{
printf("绑定出错\n");
return 0;
}

if(listen(listenSocket,5)==SOCKET_ERROR)
{
printf("监听出错!");
return 0;
}

int len=sizeof(cliet);
acceptSocket=accept(listenSocket,(struct sockaddr*)&cliet,&len);
if (acceptSocket==INVALID_SOCKET)
{
printf("建立连接出错\n");
return 0;
}

char buf[1024];
ret=recv(acceptSocket,buf,sizeof(buf),0);
if (ret==0)
{
return 0;
}
char str[1024]={0};
printf("来自客户端的信息:");
printf(buf);
printf("\n");
memset(buf,0,sizeof(buf));
strcpy(buf,"ok");
ret=send(acceptSocket,buf,sizeof(buf),0);
if (ret==SOCKET_ERROR)
{
printf("发送数据出错\n");
return 0;
}
closesocket(acceptSocket);
closesocket(listenSocket);
WSACleanup();
return 0;
}
客户端:
// 客户端.cpp : Defines the entry point for the console application.
//
#include "stdio.h"
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
int main(int argc, char* argv[])
{
WSADATA wsaData;
int ret;
if ((ret==WSAStartup(MAKEWORD(2,2),&wsaData))!=0)
{
printf("初始化WinSock出错");
return 0;
}
SOCKET clientSocket;
struct sockaddr_in serv;
char buf[1024];
serv.sin_family=AF_INET;
serv.sin_port=htons(8811);
serv.sin_addr.s_addr=inet_addr("192.168.1.3");
clientSocket=socket(AF_INET,SOCK_STREAM,0);
if (clientSocket==INVALID_SOCKET)
{
printf("建立socket出错");
return 0;
}

if (connect(clientSocket,(struct sockaddr*)&serv,sizeof(serv))==INVALID_SOCKET)
{
printf("请求出错");
return 0;
}
printf("已经成功与服务器建立连接......\n");
memset(buf,0,sizeof(buf));
strcpy(buf,"Are You Ready?");
ret=send(clientSocket,buf,sizeof(buf),0);
if (ret==SOCKET_ERROR)
{
printf("发送请求出错");
return 0;
}
printf("发送数据给服务器....\n");
memset(buf,0,sizeof(buf));
ret=recv(clientSocket,buf,sizeof(buf),0);
if (ret==0)
{
return 0;
}
printf("接收到服务器内容:");
printf(buf);
printf("\n");
closesocket(clientSocket);
WSACleanup();
return 0;
}
展开
 我来答
drawblue44
2012-08-23 · 超过18用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:46.7万
展开全部
经检查和验证,代码没有问题,如果不是你的网络问题,就是你把IP地址搞错了。
更多追问追答
追问
在你的机子上能连接成功吗?
追答
可以的
镭速传输
2024-10-22 广告
FTP替代升级选择《镭速FTP替代升级》,它提供了一种高效的FTP替代升级方案,通过自研的Raysync高速传输协议,解决了传统FTP在传输速度、稳定性、安全性、扩展性以及审计方面的不足。它支持断点续传、文件校验、多类型文件并发传输,并采用... 点击进入详情页
本回答由镭速传输提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式