python核心编程---读书笔记:第16章 网络编程
第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*:异步开发支持库
python核心编程---读书笔记:第16章 网络编程相关推荐
- Python Crash Course读书笔记 - 第16章:DOWNLOADING DATA
本章首先探索在线公开数据源.然后介绍CSV和JSON格式数据的处理,并分别用Matplotlib和Plotly做可视化. CSV文件格式 CSV(comma-separated values)格式,正 ...
- python第三章上机实践_《机器学习Python实践》读书笔记-第三章
<机器学习Python实践>,第三章,第一个机器学习项目 以往目录:橘猫吃不胖:<机器学习Python实践>读书笔记-第一章zhuanlan.zhihu.com 书中介绍了一 ...
- 《C++ Primer Plus》读书笔记 第16章 string类和标准模板库
第16章 string类和标准模板库 1.string类 表16.1列出了string类的几个构造函数.其中NBTS(null-terminated string)表示以空字符结束的传统C-风格字符串 ...
- Python Crash Course读书笔记 - 第18章:GETTING STARTED WITH DJANGO
Django是一个web框架.可用来构建交互式网站. 设置项目 首先需要写项目说明书(spec). 然后需要创建虚拟环境(virtual environment). 虚拟环境是一个隔离的环境,可以单独 ...
- 《c语言从入门到精通》看书笔记——第16章 网络套接字编程(下)——套接字
1.套接字概述 套接字是网络通信的基石,是网络通信的基本构件. 所谓套接字,实际上是一个指向传输提供者的句柄.在WinSock中,就是通过操作该句柄来实现网络通信和管理的.根据性质和作用不同,套接字可 ...
- kmeans python interation flag_Python自学笔记-第六章面向对象编程(下)
3.魔法方法 Python的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Python 的一切.他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一 ...
- Python Crash Course读书笔记 - 第19章:USER ACCOUNTS
允许用户输入数据 目前用户数据Topic和Entry都是通过管理站点输入的,我们希望用户可以新增和编辑数据. 允许用户输入和提交数据的Web页面称为form,在Django中可使用ModelForm. ...
- linux多线程服务端编程读书笔记——第三章
本章作者主要是总结了一两种常用的线程模型.归纳了进程通信与线程同步的最佳实践 进程与线程的区别: 进程是文件系统中的最重要的两个概念之一(令一个是文件).简单地说,一个进程是内存中正在运行的程序.每个 ...
- Python Crash Course读书笔记 - 第15章:GENERATING DATA
数据可视化是指通过可视化的手段探索数据,和数据分析紧密关联.通过代码来探索数据集的模式. 和显示酷炫的图片无关,而是让用户之前并不知道的数据含义和模式. Python被广泛应用于遗传学,气候研究,政治 ...
- 《c语言从入门到精通》看书笔记——第16章 网络套接字编程(上)——网络
1.IP地址 每台计算机都需要一个IP地址以识别自己,IP地址由IP协议规定的32位的二进制表示,最新的IPV6协议将IP地址提升为128位,但还不能广泛应用. 32位的IP地址主要分为前缀和后最两部 ...
最新文章
- Java学习总结:11(final关键字)
- c语言如何持续输入字符直到指定字符结束_《小白学C》第三章 常用输入输出函数...
- python自学视频-师傅带徒弟学Python:第一篇Python基础视频课程
- Button控件的基本使用(初识封装、减少代码冗余性、代码优化)
- IIS中架设二级域名网站
- 收藏一个php用的一个页码按钮类
- Window之Fiddler构建请求
- 机器人的动力学和动力学联系_通过机器学习了解幸福动力学(第2部分)
- java8新特性(2)--- 方法引用
- 艾伟_转载:使用LINQ to SQL更新数据库(中):几种解决方案
- 如何删除git config中的某一个配置项
- 朱恒志20135314实验2 实验报告
- gb2312tobig5 delphi简繁转换
- win7 计算器 android,win7计算器
- 大数据学习路线详解,零基础学大数据学习路线
- Android surfaceview 自定义相机 拍照(闪光灯、前后摄像头)
- GD32F4(3): 在keil软件中使用GD-LINK下载调试
- 自动复制吱口令html,使用clipboard.js实现复制吱口令功能的示例代码
- 《算法之美》 第三章:数据结构
- 【蓝桥杯】 历届试题 国王的烦恼(并查集)