udp协议和socketserver模块
#基于udp协议通讯的套接字
# 数据报协议
# 一个recvfrom对应一个sendto 一一对应 无粘包产生 # 服务端:
# import socket
# server=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
# server.bind(("127.0.0.1",8080))
# while True:
# date,mag=server.recvfrom(1024)
# print(date)
# server.sendto(date.upper(),mag)
# server.close
#
# 客户端
# import socket
# client=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
# while True:
# res=input(">>").strip()
# client.sendto(res.encode("utf-8"),("127.0.0.1",8080))
# date,server_addr=client.recvfrom(1024)
# print(date)
# client.close()
# #TCP协议的优缺点:(流式协议)
# 优点:传输数据可靠
# 缺点:传输效率慢
#UDP协议的优缺点:(数据报协议)
# 优点:传输数据的效率高
# 缺点:数据容易丢失 可靠性低 # socketserver模块的使用
# 基于tcp协议通讯,仅更改服务端即可
# tcp协议并发的socketserver模板:
# import socketserver
# 自定义类用来处理通讯循环
# class MyTCPhanler(socketserver.BaseRequestHandler):
# def handle(self):
# while True:
# try:
# data=self.request.recv(1024)#request相当于建立连接
# if len(data)==0:break
# print("----->收到客户消息",data)
# self.request.send(data.upper())
# except ConnectionError:
# break
# self.request.close()
# pass
# if __name__ == '__main__':
# server=socketserver.ThreadingTCPServer(("127.0.0.1",8080),MyTCPhanler)
# server.serve_forever() #连接循环 # 基于udp协议并发的socketserver模板:
# 服务端:
# import socketserver
# # 自定义类用来处理通讯循环
# class MyUDPhanler(socketserver.BaseRequestHandler):
# def handle(self):
# data,sock=self.request
# sock.sendto(data.upper(),self.client_address)
# if __name__ == '__main__':
# server=socketserver.ThreadingUDPServer(("127.0.0.1",8080),MyUDPhanler)
# server.serve_forever() #连接循环 #什么是进程
#进程的概念:起源于操作系统
#正在进行(运行)的程序
#进程是一个包含程序运行所需的所有资源的单位
#在只有一个CPU的情况下
#是因为有多道技术
#内存被分为多个区域 存放不同的应用程序
#当一个应用程序遇到了I/O操作时 炒作系统会将CPU非陪给其他的应用程序使用
#切换的时间非常短 用户是感觉不到的
#特点:
#一个操作系统中可以同时存在多个进程
#内部使用了多道技术 可以快速的在不同的应用程序间切换 给用户的感觉就像是在同时运行
#进程是一个包含程序运行所需的所有资源的单位
udp协议和socketserver模块的更多相关文章
- Java基础之UDP协议和TCP协议简介及简单案例的实现
写在前面的废话:马上要找工作了,做了一年的.net ,到要找工作了发现没几个大公司招聘.net工程师,真是坑爹呀.哎,java就java吧,咱从头开始学呗,啥也不说了,玩命撸吧,我真可怜啊. 摘要: ...
- 基于socket的udp传输,socketserver模块,进程
基于UDP的套接字 udp是无连接的,先启动哪一端都不会报错 socket.SOCK_DGRAM 数据报协议 udp不会发送空数据,什么都不输入直接发送也会有报头发过去 服务端 import sock ...
- [Swoole系列入门教程 5] UDP协议和demo
• 客户端服务端没有任何联系 • 指定地址跟端口,不关心消息是否发送成功 • 心跳检测不能影响到客户端• udp建立长连接
- ftp用的是tcp还是udp_如何通俗地解释TCP和UDP协议和HTTP、FTP、SMTP等协议之间的区别
HTTP协议 老王喜欢看岛国小片,时常泡在论坛上和网友交流最新资讯,老王是通过浏览器浏览网页的,而浏览器是借助HTTP协议与论坛服务器沟通交流. FTP协议 老王购买了该网站的会员,可以无限制下载高清 ...
- python 全栈开发,Day33(tcp协议和udp协议,互联网协议与osi模型,socket概念,套接字(socket)初使用)
先来回顾一下昨天的内容 网络编程开发架构 B/S C/S架构网卡 mac地址网段 ip地址 : 表示了一台电脑在网络中的位置 子网掩码 : ip和子网掩码按位与得到网段 网关ip : 内置在路由器中的 ...
- python语法基础-网络编程-TCP协议和UDP协议
############### 网络编程 ############## """ 网络编程 学习了Python基础之后,包括函数,面向对象等,你就可以开发了,你 ...
- socketserver模块TCP和UDP协议形式
# >>>>>>>>>>>>>>>>>>>>服务端socketserver模块通 ...
- TCP协议和UDP协议基础介绍
TCP协议和UDP协议区别 标签(空格分隔): TCP,udp TCP的三次握手 TCP被称为可靠的数据传输协议,主要是通过许多机制来实现的其中最主要的就是三次握手的功能,当然,TCP传送数据的机制非 ...
- python-基于UDP通信的套接字,socketserver模块的使用
一.基于UDP协议通信的套接字 udp是没有链接的,所以先启动哪一端都不会报错 import socket server=socket.socket(socket.AF_INET,socket.SOC ...
随机推荐
- 160. Intersection of Two Linked Lists(剑指Offer-两个链表的第一个公共结点)
题目: Write a program to find the node at which the intersection of two singly linked lists begins. Fo ...
- python记录_day25 包
1.包就是一个文件夹 当我们导入一个包的时候,默认执行这个包内的__init__.py文件 在python2中必须写__init__.py文件,python3中可以不写,但是最好也写上 代码的结构: ...
- 『计算机视觉』Mask-RCNN_推断网络其五:目标检测结果精炼
一.Detections网络 经过了ROI网络,我们已经获取了全部推荐区域的信息,包含: 推荐区域特征(ROIAlign得到) 推荐区域类别 推荐区域坐标修正项(deltas) 再加上推荐区域原始坐标 ...
- 『MXNet』第六弹_Gluon性能提升
一.符号式编程 1.命令式编程和符号式编程 命令式: def add(a, b): return a + b def fancy_func(a, b, c, d): e = add(a, b) f = ...
- 论raw_input与input之间的缠缠绵绵
例子1:py2.7中,raw_input输入整数,返回的是str. input1=raw_input("raw_input:") print(type(input1)) print ...
- CRM 价格批导
日了,好多代码....COPY别人的,懒得改了 *----------------------------------------------------------------------* *** ...
- SQL 查询语句
4.2 单表查询 4.2.1 列名(表名)的别名(as 可以不加) 给列名取别名既可以加 as 也可以不加. (2008 - Sage.lower(Sdept)等可计算但无列名,需要指定列名) 原列名 ...
- Maximum sub array
Here I post a way to solve maximum sub array problem: The problem described like this: here is an ar ...
- 使用SpringBoot集成ActiveMQ
SpringBoot是个好东西,好多java常用的东西都被集成进去了 JMS 在 Spring Boot 中的使用 使用Spring/Spring Boot集成JMS的陷阱 Spring-boot J ...
- which/whereis/locate/find的区别
which--在$PATH目录下查找文件 whereis--在预定目录下(whereis -l查看)查找文件 locate--在数据库中查找目录或文件 find--遍历目录查找文件 说明: 1.关于w ...