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 ...
随机推荐
- Artem and Array CodeForces - 442C (贪心)
大意: 给定序列$a$, 每次任选$a_i$删除, 得分$min(a_{i-1},a_{i+1})$(无前驱后继时不得分), 求最大得分. 若一个数$x$的两边都比$x$大直接将$x$删除, 最后剩余 ...
- layuitable设置数据表
如图,要设置类似这样的格式 步骤如下: 1. 设置一个列表表格 2. 获取数据 table.render({ elem: '#pl-list' ,id: 'pl_table' ,height: 480 ...
- 6月4 Smarty练习增删改
练习Smarty的增删改所需要用到的数据库名称:timu,xuanxiang,kemu,nandu,leixing,然后使用smarty模板将前端后后台分割开来: 主页后台页面:zhupm.php & ...
- leetcode-algorithms-1 two sum
leetcode-algorithms-1 two sum Given an array of integers, return indices of the two numbers such tha ...
- PAT 1046 Shortest Distance
1046 Shortest Distance (20 分) The task is really simple: given N exits on a highway which forms a ...
- ActiveMQ异步分发消息
org.apache.activemq.ActiveMQConnection 类中有个参数: protected boolean dispatchAsync=true; 这个参数的含义到底是什么? 使 ...
- CentOS查看安装包会释放哪些文件
1.查看软件包全称(以mysql为例) rpm -qa | grep -i mysql 2.查看释放出的文件(以MySQL-server-5.5.55-1.el6.x86_64为例) rpm -ql ...
- [转]JVM内存模型
最近排查一个线上java服务常驻内存异常高的问题,大概现象是:java堆Xmx配置了8G,但运行一段时间后常驻内存RES从5G逐渐增长到13G #补图#,导致机器开始swap从而服务整体变慢.由于Xm ...
- summary_22rd Nov 2018
一. 列表:记录同种属性的多个值 定义:在[]中用逗号分隔开多个任意的值 类型转换:L=list( ) 括号中的内容必须是可迭代类型,包括字符串,列表,字典等 常用操作和内置方法: 1.按照索引位置 ...
- Redis在linux环境下的安装和部署
官网:http://redis.io windows版本下载地址https://github.com/MicrosoftArchive/redis/releases 1Redis建议 ...