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;
} 展开
// 网络编程.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;
} 展开
1个回答
镭速传输
2024-10-22 广告
2024-10-22 广告
FTP替代升级选择《镭速FTP替代升级》,它提供了一种高效的FTP替代升级方案,通过自研的Raysync高速传输协议,解决了传统FTP在传输速度、稳定性、安全性、扩展性以及审计方面的不足。它支持断点续传、文件校验、多类型文件并发传输,并采用...
点击进入详情页
本回答由镭速传输提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询