Python学习笔记16:网络编程

1、引言
客户端/服务器架构
(1)硬件的CS架构:打印机服务器、文件服务器
(2)软件的CS架构:Web服务器、数据库服务器、窗口服务器
(3)CS网络编程:创建通讯端点,用于“监听”请求

2、套接字:通信端点
(1)套接字地址:主机+端口
(2)面向连接与无连接
面向连接的套接字(虚电路/流套接字)/无连接套接字
面向连接:顺序的、可靠的、不会重复的数据传输,且不会被加上数据边界。传输控制协议(TCP)、网际协议(IP)
无连接:数据到达顺序、可靠性及不重复性无法保证。数据报会保留数据边界,数据是整个发送,不像面向连接的协议那样先拆分再组合,性能优。用户数据报协议(UDP)、网际协议(IP)

3、Python中的网络编程
socket模块,其中socket()函数用来创建套接字。套接字有自己的一套函数来提供基于套接字的网络通信。
(1)socket()函数

socket(socket_family,socket_type,protocol=0)
  • socket_family:不是AF_VNIX,就是AF_INET。
  • socket_type:SOCK_STREAM或者SOCK_DGRAM(流套接字/数据报)
  • protocol:一般不用,默认用0。
tcpsock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
udpsock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

(2)套接字对象(内建)方法
(3)创建一个TCP服务器/创建TCP客户端
(4)创建一个UDP服务器/创建UDP客户端

4、SocketServer模块
包含一些类,用于简化实现网络客户端和服务器所需的大量样板代码。
同步服务器/异步服务器 事件驱动
创建一个SocketServerTCP服务器/客户端

5、Twisted框架
一个完全事件驱动的网络框架。允许开发完全异步的网络应用程序和协议。它为你创建一个完整系统提供了很大帮助。系统中可以有:网络协议、线程、、安全和认证、聊天和即时通讯、数据库管理、关系数据库集成、Web/Internet、电子邮件、命令行参数、图形界面集成等。
创建一个Twisted Reactor TCP服务器/客户端

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值