python socket通信 网络故障_python网络编程学习笔记(二):socket建立网络客户端

1、建立socket

建立socket对象需要搞清通信类型和协议家族。通信类型指明了用什么协议来传输数据。协议的例子包括IPv4、IPv6、IPXSPX、AFP。对于internet通信,通信类型基本上都是AF_INET(和IPv4对应)。协议家族一般表示TCP通信的SOCK_STREAM或者表示UDP通信的SOCK_DGRAM。因此对于TCP通信,建立一个socket连接的语句为:

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

对于UDP通信,建立一个socket连接的语句为:

s=socket.socket(socket.AF_INET,SOCK_DGRAM)

2、连接socket

连接socket需要提供一个tuple,包括host(主机名或者IP)和port(远程端口),类似代码为:

s.connect(("www.baidu.com",80)

3、寻找端口号

socket库中利用getservbyname()函数可以查询端口号,一般需要两个参数:一是协议名,如http、smtp、pop3等,一个是端口名,如tcp、udp

例如:

import socket

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

port=socket.getservbyname('http','tcp')

port的返回值为80。若改为:

port=socket.getservbyname('smtp','tcp')

你可能感兴趣的:(python,socket通信,网络故障)