0、Socket 编程概述
应用进程使用传输层提供的服务,才能够交换报文,实现应用协议,实现应用;
应用进程A 使用Socket API 接口与另一个用进程B 通讯;
2种不同的传输层服务,分别对应于TCP Socket(可靠、字节流)和UDP Socket(不可靠、UDP数据报);
1、TCP Socket 编程步骤
- 服务器先运行,创建欢迎socket等待建立连接;
创建欢迎socket,和本地IP及端口捆绑;
在欢迎socket上阻塞式等待用户的连接;
- 客户端主动和服务器建立连接;
客户端创建本地套接字,隐式捆绑本地IP和port;
指定服务器进程的IP和端口号,与服务器进程连接;
- 服务器等到客户端连接请求,返回新socket,客户端与服务器建立了TCP连接;
服务器接受来自用户端的请求,解除阻塞式等待,返回一个新的socket(与欢迎socket不同)与客户端通信;
使用源IP和源端口port来区分不同的客户端;
2、TCP Socket 代码
2.1、IP/port结构体、域名/IP结构体