客户端:
#include
#include
#include
#pragma comment(lib, "Ws2_32。lib")
using namespace std;
#define MY_PORT 22222
char g_Buf[1024] = {0};
void main()
{
//网络环境
WSADATA wsaData;
//设置套接字版本号为v2。
2
WSAStartup(MAKEWORD(2, 2), &wsaData);
cout > cServerIP;
ServerAddr。sin_addr。
s_addr = inet_addr(cServerIP); //设置访问地址 inet_addr - 将字符串形式的IP地址转换为无符号长整形IP地址
cout > g_Buf;
int iSend = send(sock, g_Buf, int(strlen(g_Buf) 1), 0);
if (SOCKET_ERROR == iSend)
{
cout
#include
#pragma comment(lib, "Ws2_32。
lib")
using namespace std;
#define MY_PORT 22222 // 端口
char g_Buf[1024] = {0}; //缓冲区
void main()
{
WSADATA wsaData; //网络环境
WSAStartup(MAKEWORD(2, 2), &wsaData); //设置套接字版本号为v2。
2
cout << "服务器:开启网络链接。。。" << endl;
Sleep(1500);
system("cls");
SOCKET sListen; //定义监听套接字
sListen = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //初始化监听套接字
SOCKADDR_IN Sadd = {};
Sadd。
sin_family = AF_INET; //设置协议为TCP协议
Sadd。sin_port = /*htons(MY_PORT)*/MY_PORT; //设置端口
int SockAddSize = sizeof(SOCKADDR_IN); //套接字数据结构大小
bind(sListen, (SOCKADDR*)&Sadd, SockAddSize); //绑定套接字
cout << "服务器:绑定端口。
。。" << endl;
Sleep(1500);
system("cls");
listen(sListen,SOMAXCONN); //设置套接字为监听模式,设置能同时监听的最大客户数量
cout << "服务器:开始监听。
。。" << endl;
SOCKET sClient; //客户端套接字
SOCKADDR_IN Cadd = {}; //客户端套接字数据,包含IP等总要信息
sClient = accept(sListen, (SOCKADDR*)&Cadd, &SockAddSize); //建立,等待连接
if (INVALID_SOCKET == sClient)
{
WSACleanup();
}
cout<< "服务器:客户端【" <<
(int)Cadd。
sin_addr。S_un。S_un_b。s_b1 << "。" <<
(int)Cadd。sin_addr。S_un。S_un_b。s_b2 << "。" <<
(int)Cadd。sin_addr。
S_un。S_un_b。s_b3 << "。" <<
(int)Cadd。sin_addr。S_un。S_un_b。s_b4 << "】已连接。。。" <
int iRecvNum = 0; //接收字节的个数
while (1)
{
iRecvNum = recv(sClient, g_Buf, 1024, 0); //接收数据
if (iRecvNum < 1)
{
cout << "服务器:客户端失去连接。
。。" << endl;
Sleep(1500);
system("cls");
break;
}
send(sClient, g_Buf, 1024, 0);
if (strcmp(g_Buf,"quit") == 0)
{
cout << "服务器:客户端发送退出命令。
。。" << g_Buf << endl;
break;
}
cout << "客户端" << /*Sadd。sin_port*/MY_PORT << "消息:" << g_Buf << endl;
}
cout << "服务器:准备关闭服务器。
。。" << endl;
closesocket(sListen);
closesocket(sClient);
WSACleanup();
Sleep(2000);
system("cls");
cout << "服务器:已经关闭服务器。
。。" << endl;
Sleep(2000);
}
启动的时候先启动服务器,然后启动客户端。
全部