最近在看 Python的视频,针对socket 编程做一个笔记
一、socket是什么?
socket 通常也称为“套接字”,用于描述 IP 地址和端口,是一个通讯链的句柄。应用程序通常通过 “套接字”向网络发出请求或者应答网络请求。说白了,就是一种通讯机制。它类似于公司的电话客服部门,你打电话的时候,那边会分配一个人回答你的问题,客服部门就相当于 socket 的服务器端了,打电话的人相当于客户端了,在和你通话结束前,如果有人在想找和你通话的哪个客服人员,是不可能的,因为你在和他通话,当然客户部门的电话交换机也不会重复分配。
socket 起源于 Unix,而Unix/Linux 基本哲学之一就是“一切皆文件”,都可以用 “打开open ->读写 wirte/read -> 关闭 close “模式来操作。 Socket就是该模式的一个实现, socket即时一种特殊的文件,一些 socket函数就是对其进行操作(读/写IO、打开、关闭)
socket 的工作模式
Socket 服务器端 编程主要包括以下几步
打开 socket
绑定到一个地址和端口
侦听进来的连接
接受连接
读取数据
Socket type
socket.AF_UNIX 只能够用于单一的 Unix 系统进程间通信
socket.AF_INET 服务器之间网络通信
socket.AF_INET6 IPv6
socket.SOCK_STREAM 流式socket,for TCP
so