概念
处于传输层,使用socket API传输报文。
两种传输层服务的socket类型:TCP(可靠的、字节流的服务)、UDP(不可靠服务);
使用一个整数表示。
socket编程基本就是create、listen、accept、send、read、write等几个基本操作。
实现socket通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。
TCP套接字编程:
- 服务器首先运行,等待连接建立
服务器进程必须先处于运行状态,创建欢迎socket,和本地端口捆绑,在欢迎socket上阻塞式等待接收用户的连接 - 客户端主动和服务器建立连接
创建客户端本地套接字(隐式捆绑到本地port),指定服务器进程的IP地址和端口号,与服务器进程连接 - 当与客户端连接请求到来时
服务器接收来自用户端的请求,解除阻塞式等待,返回一个新的socket(与欢迎socket不一样),与客户端通信。允许服务器与多个客户端通信。使用源IP和源端口来区分不同的客户端。 - 连接API调用有效时,客户端与服务器建立了TCP连接。
网友评论