The client code is as follows
1 initialize the socket (WSASatrtup)
2 Create scoket
3 connection
4 receives information
5 Close the socket
#include <Windows.h>
#include <conio.h>
#include <Winsock.h>
#include <iostream>
using namespace std;
//socket 库
#pragma comment(lib, "Ws2_32.lib")
void StartUpWindowsSocket()
{
WSADATA wsData = {0};
WSAStartup(MAKEWORD(2, 2), &wsData);
}
void TCPClientSocket()
{
//创建socket
SOCKET sk = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
if (INVALID_SOCKET == sk)
{
return;
}
//连接
struct sockaddr_in addr = {0};
addr.sin_family = AF_INET;
addr.sin_port = htons(2222);
addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
int a = connect(sk, (sockaddr *)&addr, sizeof(addr));
// 数据收发
char szText[100] = "hello Server";
send(sk, szText, sizeof(szText), 0);
recv(sk, szText, 100, 0);
cout << "发送的数据: " << szText << endl;
getch();
// 关闭socket
closesocket(sk);
}
int main()
{
StartUpWindowsSocket();
TCPClientSocket();
return 0;
}
Server
1 Initialization socket
2 Create scocket
3 Bind
4 listeners
5 accept connections
6 send and receive information
7 Close
#include <Windows.h>
#include <conio.h>
#include <iostream>
using namespace std;
#include <Winsock.h>
//socket 库
#pragma comment(lib, "Ws2_32.lib")
void StartUpWindowsSocket()
{
WSADATA wsData = {0};
WSAStartup(MAKEWORD(2, 2), &wsData);
}
void TCPServer()
{
//创建socket
SOCKET sk = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
if (INVALID_SOCKET == sk)
{
return;
}
//绑定
struct sockaddr_in ssck = {0};
ssck.sin_family = AF_INET;
ssck.sin_port = htons(2222);
ssck.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
bind(sk, (sockaddr *)&ssck, sizeof(ssck));
//监听
listen(sk, SOMAXCONN);
//接收
cout << "等待客户端连接" << endl;
struct sockaddr_in SocketAddClient = {0};
int nLen = sizeof(SocketAddClient);
SOCKET SocketClient = accept(sk, (sockaddr*)&SocketAddClient,&nLen);
cout << "客户端已连接" << endl;
if (SocketClient == INVALID_SOCKET)
{
int a = 10;
}
//接受数据
char szText[100] ={0};
recv(SocketClient,szText, 100, 0);
cout << "收到的数据: " <<szText << endl;
send(SocketClient, szText, sizeof(szText), 0);
getch();
closesocket(sk);
closesocket(SocketClient);
}
int main()
{
StartUpWindowsSocket();
TCPServer();
return 0;
}