[db:标题]
摘要:本地套接字 7-1简介 在Linux系统下,可以使用本地套接字(Unix域套接字)进行进程间通信。本地套接字是一种特殊类型的套接字,用于在同一主机上的进程之间进行通信。 7-2 创建本地套接字服务器的流程 可以使用TCP或UDP的方
本地套接字
7-1简介
在Linux系统下,可以使用本地套接字(Unix域套接字)进行进程间通信。本地套接字是一种特殊类型的套接字,用于在同一主机上的进程之间进行通信。
7-2 创建本地套接字服务器的流程
可以使用TCP或UDP的方式来实现通信,使用TCP就得遵循TCP的流程,UDP就要遵循UDP的流程。
7-2-1使用TCP的本地套接字服务器流程
第一步:使用socket创建一个套接字,并且第一个参数为AF_UNIX,第二个为SOCK_STREAM (TCP)。
第二步:使用bind进行本地地址绑定,但是结构体要是struct sockaddr_un并且成员sun_family也要是AF_UNIX。而且要创建一个变量(详见代码)。然后bind中要使用struct sockaddr_un &进行强转。
第三步:使用listen函数监听套接字。
第四步:使用accept函数获得新连接。
第五步:对接收到的数据进行读写或者其他操作。
第六步:如果不需要停下来记得关闭acdept和socket创建的两个文件描述符。
7-2-2使用TCP的本地套接字客户端流程
第一步:创建套接字,并且第一个参数为AF_UNIX,第二位SOCK_STREAM (TCP)。
第二步:绑定本地地址。(不是必须的, 若无显示绑定会进行隐式绑定,但服务器不知道谁连接了)。
第三步:调用connect函数进行连接。
第四步:通信。
第五步:关闭第一步创建的描述符。
