将数据在网络字节序和主机字节序之间相互转化。通过调用ntohl和htonl函数,l代表长整型32bit,s代表短整型16bit。
import socket
def convert_integer():
data = 1234
# 32-bit
print "Original: %s => Long host byte order: %s, Network byte order: %s" %(data, socket.ntohl(data), socket.htonl(data))
# 16-bit
print "Original: %s => Short host byte order: %s, Network byte order: %s" %(data, socket.ntohs(data), socket.htons(data))
if __name__ == '__main__':
convert_integer()
AF = Address Family
PF = Protocol Family
意思就是 AF_INET 主要是用于互联网地址,而 PF_INET 是协议相关,通常是sockets和端口,AF_INET address即使用IP。
import socket
def socket_timeout():
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print "Default socket timeout:%s"%s.gettimeout()#获取套接字超时时间
s.settimeout(100)#设置套接字超时时间
print "Current socket timeout:%s"%s.gettimeout()<span style="font-family: Arial, Helvetica, sans-serif;">#获取套接字超时时间</span>
if __name__ == '__main__':
socket_timeout()