网络编程——TCP编程
前言 使用TCP通信时,TCP协议要求必须要有一个服务器端。这一点是由TCP协议本身的特性决定的,只要你使用TCP协议来通信,就必须要有一个TCP服务器端。 TCP服务器的大概工作过程 (1)服务器会使用专门“文件描述符”来监听客户的“三次握手”,然后建立连接。 (2)一旦连接建立成功后,服务器会分配一个专门的 “通信文件描述符”,用于实现与该连接客户的通信 由于建立连接时,双方的TCP协议都已经记住了对方IP和端口,所以双方正式通信时,TCP会自动使用记录的IP和端口,我们不需要重新指定对方的IP和端口。 TCP编程模型 在编程模型里面,必须要有一方是TCP服务器,另一方是TCP客户。服务器只有一个,但是客户端有很多,不管客户端有多少个,客户端与服务器端的通信,都按照编程模型的描述来实现的。 API socket 原型 #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol); 功能 创建一个套接字文件,然后以文件形式来操作通信,不过套接字文件没有文件名。 参数 domian 作用:指定协议族 为什么要指定协议族? 因为你要使用的通信协议一定是属于某个协议族,所以如果不指定协议族,又怎么指定协议族中的某个具体协议呢。比如我们想用的是TCP协议