博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
socketserver 模块的使用
阅读量:5258 次
发布时间:2019-06-14

本文共 1537 字,大约阅读时间需要 5 分钟。

socketserver模块的使用

socketserver是一个集成socket,thread,select模块的综合模块,主要用实现用较为简单的方法建立服务端的模块。可以应对较小并发的客户需求。

socketserver建立TCP服务端。

服务端

import socketserver#处理的方法(服务端工作的方式的类)class Myhandler(socketserver.BaseRequestHandler):    def handle(self):#开始工作自动执行下列函数        print(self.server)#socketserver对象        print(self.client_address)#客户端地址        print(self.request)#客户端连接对象        while True:            data = self.request.recv(1024)            self.request.send(data.upper())server = socketserver.ThreadingTCPServer(("127.0.0.1",6666),Myhandler)#一以线程的方式建立tcp服务端server.serve_forever()#让服务端持续工作

客户端

import socketclient = socket.socket()client.connect(("127.0.0.1",6666))while True:    msg = input(">>>")    if not msg:        continue    client.send(msg.encode("utf-8"))    data = client.recv(1024)    print(data.decode("utf-8"))

基于UDP的socketserver

服务端

import socketserveraddr  = ("127.0.0.1",3239)class Myhandle(socketserver.BaseRequestHandler):    def handle(self):        print(self.server)#socketserver对象        print(self.client_address)        print(self.request)#数据,和服务端socket对象        data = self.request[0]        self.request[1].sendto(data.upper(),self.client_address)server = socketserver.ThreadingUDPServer(addr,Myhandle)server.serve_forever()

客户端

import socketclient = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)addr  = ("127.0.0.1",3239)while True:    msg = input(">>>")    client.sendto(msg.encode("utf-8"),addr)    data = client.recvfrom(1024)    print(data[0].decode("utf-8"))

 

转载于:https://www.cnblogs.com/msj513/p/9963655.html

你可能感兴趣的文章
[JS]递归对象或数组
查看>>
LeetCode(17) - Letter Combinations of a Phone Number
查看>>
Linux查找命令对比(find、locate、whereis、which、type、grep)
查看>>
路由器外接硬盘做nas可行吗?
查看>>
python:从迭代器,到生成器,再到协程的示例代码
查看>>
Java多线程系列——原子类的实现(CAS算法)
查看>>
在Ubuntu下配置Apache多域名服务器
查看>>
多线程《三》进程与线程的区别
查看>>
linux sed命令
查看>>
html标签的嵌套规则
查看>>
[Source] Machine Learning Gathering/Surveys
查看>>
HTML <select> 标签
查看>>
类加载机制
查看>>
tju 1782. The jackpot
查看>>
湖南多校对抗赛(2015.03.28) H SG Value
查看>>
hdu1255扫描线计算覆盖两次面积
查看>>
hdu1565 用搜索代替枚举找可能状态或者轮廓线解(较优),参考poj2411
查看>>
bzoj3224 splay板子
查看>>
程序存储问题
查看>>
Mac版OBS设置详解
查看>>