基础知识

osi

osi模型分为七层,由应用层,表示层,会话层,传输层,网络层,数据链路层,物理层组成。
应用层主要是使用如浏览器这样得网络通信应用时,使用有关应用的协议,为应用程序提供服务。
表示层为数据格式进行转换,数据进行加密(操作系统使用的数据格式与网络通信中所使用的数据格式并不相同,需要进行数据格式的转化保证数据的安全所以进行加密)。

tcp/ip

tcp/ip协议为四层,应用层(对应osi的应用层,表示层,会话层),传输层,互联网层(网络层),网络接口层(数据链路层)

ip(Internet Protocol)

网络之间互联的协议是非常重要的网络协议,目前整个互联网都是基于IP的。IPV4使用32位二进制地址。

端口(port)

可以直接认为是设备与外界交流的出口。端口可以分为虚拟端口和物理端口,虚拟端口是计算机内部或交换机路由器内的端口。例如计算机的80端口(http协议)和21端口(ftp文件传输协议服务)和23端口(Telnet远程登录服务端口)。

socket套接字

tcp/ip网络环境下应用程序和底层通讯驱动程序之间的运行的开发接口,可以将程序和具体的tcp/ip隔离开,不需要程序直接与tcp/ip进行交互的细节就可以直接实现传输。
SOCK_STREAM流式套接字 面向连接,提供双向有序及无重复且无记录边界的数据流服务(TCP形式)
SOCK_DGRAM数据报式套接字(UDP形式)

winsock2.h

winsock主要使用winsock2版本(winsock分为Socket1和winsock2)
构成winsocket的程序框架

1
2
3
4
#include<WinSock2.h>
#pragma comment(lib,"ws2_32.lib")
//初始化Winsocket
int WSAAPI WSAS