网络编程(基于socket编程)
socket套接字:应用程序通常通过socket“套接字”向网络发送请求或应答网络请求,是主机间或同一计算机中的进程间相互通讯
socket是介于应用层和TCP、UDP/IP协议中间的一个抽象层,它是一组接口,它将复杂的TCP、UDP/IP协议封装在每一个socket接口中,我们只要使用这一组简单的接口就可以完成数据传输
套接字工作流程(三次握手,四次挥手)
发送建立请求,回应请求并发送建立请求,回应请求(三握手)
发送关闭请求,回应关闭请求,发送关闭请求,回应关闭请求(四挥手)
服务端先初始化一个socket(创建socket),然后与端口绑定,监听端口,调用accept阻塞,等待客户端的连接。之后客户端初始化也一个socket,连接服务端,连接成功就相当于两端的连接建立起来了。接着客户端发送数据请求,服务端接收并处理数据请求,然后把回应数据发至客户端,最后关闭连接,一次交互结束
socket模块函数用法
在python中,我们通过socket()函数来创建“套接字”
创建套接字的语法格式 s =socket.socket(family,type,protocol) #s类似于一个标识符
family:最常用的是基于IPv4网络协议的套接字家族AF-INET(适用于跨机器间的通讯即主机间通讯),还有一种基于文件类型的套接字家族AF-U