python 网络编程基础学习笔记(1)-网络客户端-socket

本文详细介绍了socket通信的基本概念、如何创建socket对象、获取端口号、获取socket信息以及socket异常处理。通过实例演示了如何使用socket进行TCP和UDP通信。
socket是操作系统中I/O系统的延伸部分,在某些方面socket可以看成是一个标准的文件描述符,程序不需要知道它正把数据写入一个文件、终端或是tcp连接。与文件的不同之处在于:
1、创建不同,文件使用open(),socket使用socket()并解还得需要另外的调用来连接和激活。
2、I/O的方法不同,文件为read()和write(),socket为recv()和send()。


建立socket
建立socket对象的时候,需要告诉系统:通讯类型和协议类簇。
通讯类型,TCP -- SOCK_STREAM , UDP -- SOCK_DGRAM 
协议类簇,IPv4、IPv6、IPX/SPX(NetWare)、AFP(apple文件共享)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)


端口的获取
python socket有个函数getservbyname() 根据协议名称获取其端口,参数为 协议名和端口名 
port = socket.getservbyname( 'http','tcp')


获取socket信息
获取客户端 ip及端口信息:s.getsockname()
获取服务器端ip及端口信息:s.getpeername()


socket异常处理
python的socket模块定义了4种错误:
1、与一眼I/O和通讯问题有关的socket.error 
2、与查询地址有关的 socket.gaierror 
3、与其他地址错误有关的 socket.herror 
4、在一个socket链接上调用 settimeout()后,处理超时有关的socket.timeout() ,需要python2.3以上版本支持

todo 

由于换工作,此系列暂停

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值