socket模块的使用
在python中两种套接字的建立可以用socket模块来实例化
建立模式如下:
socket(family,type[,protocal]) 使用给定的地址族、套接字类型、协议编号(默认为0)来创建
TCP/IP套接字
Tcpsock = socket.socket(socket.AF_INET,socket.AF_STREAM)
Tcpsock = socket.socket()默认不填
UDP/IP套接字
Udpsock =socket.socket(socket.AF_INET,socket.AF_DGRAM)
套接字类型表
- socket.AF_INET 服务器之间网络通信
- socket.AF_INET6 IPv6即网际协议第六版
- socket.SOCK_STREAM 流式socket , for TCP
- socket.SOCK_DGRAM 数据报式socket , for UDP
- socket.SOCK_RAW 原始套接字,普通的套接字无法处理ICMP、IGMP等网络报文,而SOCK_RAW可以;其次,SOCK_RAW也可以处理特殊的IPv4报文;此外,利用原始套接字,可以通过IP_HDRINCL套接字选项由用户构造IP头。
- socket.SOCK_SEQPACKET 可靠的连续数据包服务
- socket.AF_UNIX 只能够用于单一的Unix系统进程间通信
Socket 内建函数:
服务端socket函数
- s.bind(address) 将套接字绑定到地址, 在AF_INET下,以元组(host,port)的形式表示地