![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python网络编程
用于记录学习python网络过程中的一些练习笔记和心得等。
这是小刘
这个作者很懒,什么都没留下…
展开
-
socketserver模块
socketserver模块底层是基于socket模块开发,在socket的基础上进行了一层封装,实现了并发的功能,也就是说TCP协议的网络通信之前只能一对一的通信,而调用socketserver模块可以实现一对多的通信。server端import socketserverimport timeclass Myserver(socketserver.BaseRequestHandler): # 自定义一个类名,但是必须继承父类BaseRequestHandler def hand原创 2021-01-13 15:27:03 · 232 阅读 · 0 评论 -
Python基于TCP的文件上传
TCP的文件上传主要考虑到如下几个问题:TCP的粘包问题--可以通过struct模块解决 --利用struck两个主要内置函数pack,unpack可以将发送的字符长度加工为指定的四个字节,这样接受的时候只接收四个字节长度的数据,就可以避免TCP的粘包如何获取上传文件的大小及文件名--os模块的引用 recv()每次接收的数据大小多是有限制的,如何传输较大的文件--通过while循环实现server端import jsonimport socketimpo...原创 2021-01-11 21:05:39 · 567 阅读 · 1 评论 -
python基于UDP协议的简单通信
相对于TCP协议的通信,UDP通信的代码更加简单,同时一个服务端可以同时接受来个多个客户端的消息。服务端:import socketsk = socket.socket(type=socket.SOCK_DGRAM) # type=socket.SOCK_DGRAM 使用UDP协议,默认为TCPsk.bind(('127.0.0.1', 9001)) # 绑定ip和端口号while True: msg, addr = sk.recvfrom(1024)原创 2020-12-24 21:43:13 · 224 阅读 · 0 评论 -
python基于tcp协议的简单即时通信
基于C/S架构的即时通信server端:import socketsk = socket.socket()sk.bind(('127.0.0.1', 9001)) # 申请操作系统的资源,绑定ip和端口sk.listen(128) # 被动监听客户端发送过来的消息,数字表示同一时刻能够连接客户端的程度while True: # 为了和多个客户端进行握手 conn, addr = sk.accept() # 阻塞,当出现客户端的请求完成连接,并获取数据和客户端原创 2020-12-24 11:07:07 · 378 阅读 · 0 评论 -
网络开发架构
C/S架构 : 需要安装才能使用 client :客户端,客户使用的,需要安装的 server :服务器端B/S架构 : 百度 博客园 谷歌 码云 browser : 浏览器 server :服务端B/S和C/S什么关系? B/S架构也是C/S架构中的一种C/S架构的好处? 可以离线使用/功能更完善/安全性更高B/S架构: 不用安装就可以使用 统一PC端用户的入口由于B/S架构可以做到统一pc端用户入口,大简化...原创 2020-12-21 16:31:15 · 262 阅读 · 1 评论 -
ip地址,mac地址,局域网基础知识
**mac地址:**不变的,烧录在网卡上,能够唯一的识别设备arp协议 - 通过ip找mac**ip地址:**变化的,能够更方便的找到机器ipv4 : 四位点分十进制 如:192.168.12.56由 0.0.0.0 - 255.255.255.255ipv6 : 0:0:0:0:0:0 - FFFFFF:FFFFFF:FFFFFF:FFFFFF:FFFFFF:FFFFFF(兼容ipv4)公网地址 : 通过本地址可以被外界访问到,需要自己申请购买内网地址 : 保留字段192.168.0原创 2020-12-21 16:24:13 · 506 阅读 · 0 评论