标签:
(本文是通过python实现的socket编程)
一、客户端编程
1、建立socket
第一步:建立一个实际的socket对象
建立socket对象,需要告诉系统两件事情:通信类型和协议家族。
通信类型指明用了什么协议传输数据,通常是AF_INET(对应于IPv4);
协议家族一般是表示TCP通信的SOCK_STREAM或表示UDP通信的SOCK_DGRAM。
第二步:连接到远程服务器
注意提供的是远程服务器的一个tuple,包含远程主机名或IP地址、远程端口号。
2、寻找端口号
Python的socket库中包含一个getservbyname()的函数,通过它可以自动查询端口名相应的端口号。
例如:
3.从socket中获取信息
一旦建立一个socket连接,我们就可以从socket中得到一些有用的信息。
常用的是:
第一个是本机的IP地址和端口号,第二个是服务器的IP地址和端口号
4.寻找IP地址
Python的socket库中包含一个gethostbyname()的函数,通过它可以自动查询域名对应的IP地址。
例如:
这个功能还是非常实用的!很赞!
二、服务器端编程
对于服务器,建立一个TCP连接需要4步:
(1)建立socket对象;
(2)设置socket选项(可选的);
(3)绑定到一个端口(童谣,也可以是一个指定的网卡)。
(4)侦听连接。
1、建立socket对象
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
2、设置和得到socket对象
通常,在一个服务器进程终止后,操作系统会保留几分钟它的端口,从而防止其他进程在超时之前使用这个端口。我们可以设置SOC_REUSADDR为true,操作系统会在服务器socket被关闭或服务器进程终止后,马上释放该服务器的端口。
还有其他的选项,可以自行设计。
3、绑定socket
为服务器绑定一个端口号。
s.bind(("IP",port))
4、侦听连接
s.listen(5)
标签:
原文地址:http://www.cnblogs.com/acode/p/4599336.html