Socket模块
简介
Socket模块的主要目的是帮助在网络上的两个程序之间建立信息通道。在Python中提供了两个基本的Socket模块
服务端Socket
客户端Socket。
当创建了一个服务端Socket之后,这个Socket就会在本机的一个端口上等待连接客户端Socket会访问这个端口当两者完成连接之后,就可以进行交互了。
实例化Socket类
在Python中Socket模块的使用十分简单。
在使用Socket进行编程的时候需要:首先实例化一个Socket类,这个实例化需要三个参数:第一个参数是地址族
第二个参数是流
第三个参数是使用的协议。
服务端和客户端
使用Socket建立服务端的思路主要是首先实例化一个Socket类,然后开始循环监听,一直可以接收来自客户端的连接。
成功建立连接之后,接收客户端发来的数据,并再向客户端发送数据,传输完毕之后,关闭这次连接。
使用Socket建立客户端则要简单得多在实例化一个Socket类之后,连接一个远程的地址,这个地址由IP和端口组成。
成功建立连接之后,开始发送和接收数据,传输完毕之后,关闭这次连接。
Socket的实例化
格式为:
socket(family,type[,protocal])
family是要使用的地址族。
常用的协议族有AF_INET、AF_INET6 AF_LOCAL(或称AF_UNIX、UNIX域Socket)、AF_ROUTE等默认值为socket.AF_INET,通常使用这个默认值即可。
type用来指明Socket类型,这里可以使用的值有三个:
SOCK_STREAM,这是TCP类型,保证数据顺序及可靠性;这个是默认值 这个默认值 tcp—流控机制