一.Client客户端
客户端可以先简单看做是一个读写文件的过程
1.建立一个套接字socket(相当于打开一个文件指针File*)
2.连接服务器(打开文件fopen)
3.向服务端发送数据(向文件中写数据,fwrite)
4.接收服务数据(读取文件数据,fread)
5.关闭Socket(关闭文件fclose)
建立好客户端后我们需要通过ip地址和端口号链接到服务端的程序
ip地址时服务器的机器的地址
port端口号时在服务器上运行中的网路服务程序。
完成后可以发送和接收数据
二.服务端
1.建立一个Socket(申请一个端口好用来相应服务请求)
2.绑定端口bind(设置一个端口号)
3.监听网络端口listen(等待客服端消息)
4.等待客户端链接accept(阻塞到客户端链接)
5.接收客户端数据recv(阻塞到有数据可读)
6.向客户端返回数据send(组赛到数据发送完成)
7.关闭Socket closesocket
// 加这个宏定义也可以规避sock2和window.h的重编译问题
#define WIN32_LEAN_AND_MEAN
#define _WINSOCK_DEPRECATED_NO_WARNINGS
//winsock2一定要在windows前,否则会有宏定义重编译问题。sock2是新库,windows是老库。
#include<WinSock2.h>
#include<Windows.h>
#include<iostream>
//加入静态链接库,否则会出现问题:无法解析的外部符号 __imp__WSAStartup@8
//也可以在属性页、连接器、输入、附加依赖项中输入ws_32.lib
#pragma comment(lib,"ws2_32.lib")
int main()
{
//版本号
WORD ver = MAKEWORD(2, 2)