博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TCPServer+BaseRequestHandler网络编程
阅读量:4465 次
发布时间:2019-06-08

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

注意:

通过self.request.recv()和self.request.send()两个函数来接受和发送消息;

服务器端代码:

from socketserver import (TCPServer, BaseRequestHandler) from time import ctime HOST = '' PORT = 12345 ADDR = (HOST, PORT) BUFSIZE = 1024 class MyHandler(BaseRequestHandler): def handle(self): print('connected from:', self.client_address)         data = '[%s]%s' % (ctime(), self.request.recv(BUFSIZE).decode('UTF-8'))         self.request.send(bytes(data, 'UTF-8')) tcpSer = TCPServer(ADDR, MyHandler) print('...waiting fo connection...') tcpSer.serve_forever()

客户端代码:

from socket import * HOST = 'localhost' PORT = 12345 ADDR = (HOST, PORT) BUFSIZE = 1024 def main(): while True:         tcpCliSock = socket(AF_INET, SOCK_STREAM)         tcpCliSock.connect(ADDR)         data = input('>') if not data: break;         tcpCliSock.send(bytes(data + '\r\n', 'UTF-8'))         data = tcpCliSock.recv(BUFSIZE).decode('UTF-8') if not data: break; print (data)         tcpCliSock.close() main()

转载于:https://www.cnblogs.com/icamel/archive/2012/03/22/2412357.html

你可能感兴趣的文章
AlertDialog弹出退出对话框和图片对话框
查看>>
ASP.NET页面间数据传递的方法
查看>>
函数—参数会变吗
查看>>
Windows 10 v9926 初测
查看>>
Perl单URL爬虫
查看>>
Memcached
查看>>
codeforces 25D
查看>>
多校 2009 2
查看>>
uva 305 Joseph
查看>>
移植rtmpdump(librtmp)到android
查看>>
类查找android中跨项目的数据库操作ContentProvider的使用
查看>>
WCF也可以做聊天程序
查看>>
HDU 4497 素数筛,合数分解
查看>>
一文看懂python主要应用领域或应用场景
查看>>
DC学习(8)综合与优化
查看>>
Python中关于字符串的各种方法
查看>>
SSD S.M.A.R.T
查看>>
X64相关文章
查看>>
代码规范 结对要求
查看>>
cocos2dx进阶学习之CCObject
查看>>