网络编程实现
基础知识
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 | #include<WinSock2.h> |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jokerboxs!