python核心编程---读书笔记:第16章 网络编程

本文介绍了Python中的网络编程,重点讲解了套接字的使用,包括套接字的种类、地址家族、创建TCP和UDP套接字的过程。详细阐述了服务端和客户端的套接字函数,如bind、listen、accept、connect、recv和send。还提到了SocketServer模块在创建TCP和UDP服务器中的应用,以及Twisted框架的事件驱动特性。
摘要由CSDN通过智能技术生成

第16章网络编程

 

套接字:用于进程间通讯,或IPC

种类:基于文件的和基于网络的

地址家族:AF,AddressFamily

 

两个进程都运行在同一台机器,且套接字是基于文件的

基于网络的套接字:AF_INET,Internet,最广泛使用

AF_INET6

 

套接字地址:主机与端口

面向连接的套接字:提供顺序,可靠,非重复数据传输,TCP

创建TCP他姐自,指定套接字类型:SOCK_STREAM,是刘套接字

 

 

无连接套接字:UDP,不能呢个保证可靠和非重复性,性能更好

套接字类型为SOCK_DGRAM,数据报

 

16.3.1创建套接字:

socket(socket_family , socket_type ,protocol=0)

socket_family: AF_INET,AF_UNIX

socket_type: SOCK_STREAM , SOCKDGRAM

protocol:默认为0

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

 

服务端套接字函数

s.bind():绑定地址(主机,端口号对)到套接字

s.listen():开始TCP监听

s.accept():被动接受客户端连接

 

客户端套接字函数

s.connect() 连接TCP服务器

s.connect_ex():返回错误吗

s.recv():接受TCP数据

s.send():发送TCP数据

 

s.sendall() 完整发送TCP数据
s.recvfrom()接受UDP数据

s.sendto():发送UDP数据

s.closs():关闭套接字

 

服务端需要绑定到本地地址,创建线程来处理客户请求

SocketServer

需要把服务器的无限循环放在try-except语句总,捕获异常,

调用close()关闭服务器套接字

 

 

16.3.6创建一个UDP服务器

直接等待进来的连接就好

UDP服务器

ss = socket()

ss.bind()

while True:

         cs= ss.recvfrom()

         ss.sendto()

         ss.close()

 

UDP客户端:

 

cs = socket()

while True:

         cs.sendto()

         cs.recvfrom()

         cs.close()

 

 

16.4 *SocketServer模块

重要,含有这方面处理

BaseServer

TCPServer , UDPServer: 基于网络同步的TCp/UDP服务器

 

16.5

Twisted框架介绍

Twisted:事件驱动的网络框架

 

 

select 模块在底层套接字程序中与socket模块联合使用,可同时管理多个套接字对象

select模块作用:同时监听多个套接字的连接

SocketServer:提供创建服务器的系统

async*:异步开发支持库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值