# >>>>>>>>>>>>>>>>>>>>服务端socketserver模块通讯循环>>>>>>>>>>>>>>
import socketserver class MyHandler(socketserver.BaseRequestHandler):
def handle(self):#通过对象调用handle方法,方法名一个字都不能改
while True:
# 通信循环
try:
#self.request相当于conn
# print(self.client_address)
# print(self.request) #self.request=conn
data=self.request.recv(1024)
if len(data)==0:break
self.request.send(data.upper())
except ConnectionResetError:
break if __name__=='__main__':
#额,bind_and_activate相当于bind 和listen
s=socketserver.ThreadingTCPServer(('127.0.0.1',8080),MyHandler,bind_and_activate=True)
#这里拿到一个socketserver的对象
s.serve_forever()#代表连接循环
# 循环建立连接,每建立一个连接就会启动一个线程(服务员)+调用Myhandler类产生一个对象,调用该对象下的handle方法,专门与刚刚建立好的连接做通信循环 # >>>>>>>TCP协议的客户端 import socket ,time
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
phone.connect(('127.0.0.1',8080))#指定服务端的IP 的端口 while True:
time.sleep(1)
msg='client23223'
if len(msg)==0:continue
phone.send(msg.encode('utf-8'))
data=phone.recv(1024)
print(data)
phone.close()

# ..........................end....................

# >>>>>>>>>>>>>>>>>>>>>>>>>socketsever基于UDP通讯的服务端>>>>>>>>>>>
import socketserver
class MyHandler(socketerver.BaserequestHandler):
def handle(self):
#通讯循环
#print(self.client_address)
#这里的结果为客户端的IP和端口
#print(self.request)
#结果为一个元组有两个参数,第一个是收到的客户端的内容,第二个是socket的套接字对象
data=self.request[0]
print('客户消息',data)
self.request[1].sendto(data.upper(),self.client_address) if __name__ == '__main__':
s=sockserver.ThreadingUDPServer(('127.0.0.1',8080),MyHandler)
s.serve_forever()#永远建立链接 # >>>>>>>>>>>>>>>>>>>>>>>>>>客户端>>>>>>>>>>>>>>>>>>>
import socket
client=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
while True:
msg='client444444444'
client.sendto(msg.encode('utf-8'),('127.0.0.1',8080))
data.server_addr=client.recvfrom(1024) client.close()

socketserver模块TCP和UDP协议形式的更多相关文章

  1. 网络编程协议(TCP和UDP协议,黏包问题)以及socketserver模块

    网络编程协议 1.osi七层模型 应用层  表示层  会话层  传输层  网络层  数据链路层  物理层 2.套接字 socket 有两类,一种基于文件类型,一种基于网络类型 3.Tcp和udp协议 ...

  2. 网络编程协议(TCP和UDP协议,粘包问题)以及socketserver模块

    网络编程协议 1.osi七层模型 应用层  表示层  会话层  传输层  网络层  数据链路层  物理层 2.套接字 socket 有两类,一种基于文件类型,一种基于网络类型 3.Tcp和udp协议 ...

  3. TCP 和 UDP 协议

    TCP 和 UDP 协议 一.socket层 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐 ...

  4. 基于TCP与UDP协议的socket通信

    基于TCP与UDP协议的socket通信 C/S架构与初识socket 在开始socket介绍之前,得先知道一个Client端/服务端架构,也就是 C/S 架构,互联网中处处充满了 C/S 架构(Cl ...

  5. Python网络编程02 /基于TCP、UDP协议的socket简单的通信、字符串转bytes类型

    Python网络编程02 /基于TCP.UDP协议的socket简单的通信.字符串转bytes类型 目录 Python网络编程02 /基于TCP.UDP协议的socket简单的通信.字符串转bytes ...

  6. TCP与UDP协议

    传输控制协议(Transmission Control Protocol, TCP)和用户数据报协议(User Datagram Protocol, UDP)是典型的传输层协议. 传输层协议基于网络层 ...

  7. TCP和UDP协议的比较

    通信协议 网络通信是两台计算机上的两个进程之间的通信. 网络通信需要通信协议.网络协议有很多种,就像我们平常交流说话,也有多种语言.. 最常见的协议是TCP/IP协议.UDP协议. TCP:TCP 是 ...

  8. 运输层协议--TCP及UDP协议

    TCP及UDP协议 按照网络的五层分级结构来看,TCP及UDP位于运输层,故TCP及UDP是运输层协议.TCP协议--传输控制协议UDP协议--用户数据报协议 多路复用及多路分解 图多路复用及多路分解 ...

  9. TCP和UDP 协议发送数据包的大小

    在进行UDP编程的时候,我们最容易想到的问题就是,一次发送多少bytes好? 当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的,这里仅对像ICQ一类的发送聊天消息的情况作分 ...

随机推荐

  1. ansible-plabybook 常用的有用的命令

    ansible-plabybook 常用的有用的命令 ansible-playbook常用的非常有用的参数有: -C ,大写c ,这个命令的意思就是模拟执行,会告诉你跑完这个playbook会发生什么 ...

  2. onscroll 元素滚动事件

    阻止事件冒泡 event.stopPropagation(); children():查找合集里面的第一级子元素.(仅儿子辈,这里可以理解为就是父亲-儿子的关) children只查找第一级的子节点 ...

  3. echarts-饼状图默认选中高亮

    1.首页需要设置legend legend: { data: ["积极", "负面"], selectedMode: false, show: false } ...

  4. 关于Java中构造方法的问题以及回答

    构造方法 概念: 又叫 构造器,区分于传统的方法,是一个在创建对象时被系统自动调用的特殊方法 作用: 一:为对象进行初始化(成员变量)的工作 二:为对象在堆内存中开辟独立的内存空间 定义格式: 访问修 ...

  5. MACE环境搭建

    主要参考https://blog.csdn.net/u012505617/article/details/85763065 1.安装docker 2.安装NDK https://www.linuxid ...

  6. ad9361自测试校准

    #include "config.h" #include "CONFIG_FPGA_ALL.h" #include "xparameters.h&qu ...

  7. WIN10远程连接,报错身份验证错误,要求的函数不受支持

    我电脑是win10系统,我办公时经常需要远程连接其他电脑.突然间远程连接时就开始报错以下错误,导致无法远程连接. 这可能是由于CredSSP加密Oracle修正. 解决方法: 运行 gpedit.ms ...

  8. 论文阅读笔记五十二:CornerNet-Lite: Efficient Keypoint Based Object Detection(CVPR2019)

    论文原址:https://arxiv.org/pdf/1904.08900.pdf github:https://github.com/princeton-vl/CornerNet-Lite 摘要 基 ...

  9. Long Long Ago 二分查找

    L: Long Long Ago 时间限制: 1 s      内存限制: 128 MB 提交 我的状态 题目描述 今天SHIELD捕获到一段从敌方基地发出的信息里面包含一串被经过某种算法加密过的的序 ...

  10. .NET英文技术文章导读(2017-02-09)

    关键字:Docker..NET Core.Apache.ASP.NET Core.Logic App.C#7..NET Standard   使用Docker和.NET Core构建DockNetFi ...