python socket

 1 import socket
 2 
 3 def get_constants(profix):
 4     return dict((getattr(socket,n),n)
 5                 for n in dir(socket)
 6                 if n.startswith(profix)
 7                 )
 8 families=get_constants('AF_')
 9 types=get_constants('SOCK_')
10 protocols=get_constants('IPPROTO_')
11 
12 for response in socket.getaddrinfo('www.python.org','http'):  #参数主机host和端口port都是必要参数,可选参数:family socktype proto flags
13 
14     family, socktype,proto,canonname,sockaddr=response
15 
16     print 'Family        :', families[family]
17     print 'Type          :',types[socktype]
18     print 'Protocol      :',protocols[proto]
19     print 'Canonical name:',canonname
20     print 'Socket address:',sockaddr

这个程序展示了如何查找www.python.org的连接信息。family参数代表地址家族,可为AF_INET或AF_UNIX。AF_INET家族包括Internet地址,AF_UNIX家族用于同一台机器上的进程间通信。type参数代表套接字类型,可为SOCK_STREAM(流套接字)和SOCK_DGRAM(数据报套接字)。
IP 地址显示常用函数: socket.inet_aton(ip_string):  将ip地址的4段地址分别进行2进制转化,输出用16进制表示;mysql里面的函数是inet_aton

                              socket.inet_ntoa(packed_ip): 与上面的相反。

 http://openexperience.iteye.com/blog/145701一个简单的socket编程 讲解了如何编写server

posted @ 2013-08-31 10:40  枫桦宁  阅读(191)  评论(0编辑  收藏  举报