什么是套接字:
socket套接字:一套网络通信的接口 (API), 一套函数, 本质是伪文件。
在网络环境中唯一的标识一个进程需要 IP 和端口,这个进程就是 socket,因此 socket 需要捆绑 IP 和端口号。
socket 一定是成对儿出现的。
通信的两个角色:
服务器是被动提供服务,所以服务器应该先于客户端启动。在服务器启动之后,它的IP地址和端口不能变化,所以服务器的IP和端口的设置是在启动之前即需要在启动之前绑定。
客户端主动连接服务器,在当前服务器启动之后需要知道服务器程序对应的主机IP以及服务器主机上的服务器进程的端口。
套接字通信原理:
全双工:同一时刻,数据的流向可以是双向的。
一个文件描述符指向两个缓冲区,在发送方指向写端,接收方指向读端。