网络编程
就是基于网络协议的编程,网络协议有很多种,不同的应用场景需要应用不同协
议,必学的三种协议TCP/IP,UDP/IP,HTTP
socket套接字编程网络编程
网络编程的特点
能够调用网络函数,就可以实现相应的功能,理论很难,代码实现很简单
TCP/IP簇TransmissionControlProtocol/InternetProtocolTCP/IP协议簇,TCP与IP只是在里面占很小的一部分,TCP/IP是一个协议簇的概念
TCP/IP特点:
面向连接的,可靠的,基于字节流的传输层协议
UDP/IP特点:
面向非连接的,不可靠的,基于数据报的传输协议
c/s模型:
客户端/服务器模型,如QQ、DNF…
b/s模型:
浏览器/服务器模型,网页
什么是socket?
将底层复杂的协议体系、执行流程,进行了封装,封装完的结果就是一个SOCKET。它是我
们调用协议进行通讯的接口,是连接复杂网络体系与程序员的接口
逻辑就是,每个客户端有一个SOCKET,服务器有一个SOCKET,通信的时候就需要这个SOCKET
作为参数,给谁通讯就要传递谁的SOCKET。
数据传输过程
服务端:1、打开网络库2、校验版本3、创建SOCKET4、绑定地址与端口5、开始监听
6、创建客户端的socket接收连接7、与客户端收发消息
客户端:1、打开网络库2、校验版本3、创建socket4、连接到服务器5、与服务器收发
消息
前3步服务端与客户端代码完全一致
广域网怎么实现通讯?
内网穿透,内网转发(软件有花生壳,Sunny-Nyrok等,收费)
网络库
如QT、MFC、wpf等,这些是封装好的库,是对网络函数二次封装