建立socket的步骤:
1、建立实际的socket对象
需要指明通信类型(指明用什么协议来传输数据)和协议家族(定义数据如何被传输)。
协议包括IPv4(当前Internet标准)、IPv6(将来Internet标准)、IPX/SPX(NetWare)和AFP(Apple文件共享)。
Internet通信的通信类型基本上都是AF_INET(和IPv4)对应。
协议家族一般是SOCK_STREAM表示TCP通信,SOCK_DGRAM表示UDP通信。
例:TCP通信,建立一个socket连接
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
2、将该对象连接到远程服务器
使用connect函数并提供一个包含远程主机名或IP地址和远程端口的元组。
建立一个连接并马上终止:
#!/usr/bin/env python
#Basic Connection Example - Chapter 2 - connect.pyimport socket
print "Creating socket..."
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print "done."
print "Connecting to remote host ..."
s.connect(("www.baidu.com",80)) //书上用的google,运行时无法建立连接
print "done."
socket有一个getservbyname()函数可以自动查询端口号,参数为协议名(如 http, smtp,等)和端口名(tcp,udp)。
该例子中如需要获取端口号应加上
port = socket.getservbyname('http','tcp')
便可得到port=80