python两个子线程通过queue通信
2024-09-27 16:20:16
SocketServer端代码
#!/usr/bin/env python
import threading
import SocketServer
import time
import queue
q = queue.Queue()
class MyHandler(SocketServer.BaseRequestHandler):
def handle(self):
while True:
data = self.request.recv(1024)
# print data,self.client_address
q.put(data)
self.request.send(' %s %s ' % (data, time.ctime()))
if data == 'exit':
break
class SocketServer_Thread(threading.Thread, MyHandler):
def __init__(self, Host, Port):
super(SocketServer_Thread, self).__init__()
self.host = Host
self.port = Port
def run(self):
s = SocketServer.ThreadingTCPServer((self.host, self.port), MyHandler)
s.serve_forever()
def run_socketserver(Host, Port):
ss_thread = SocketServer_Thread(Host, Port)
ss_thread.start()
class Message_Thread(threading.Thread):
def run(self):
while True:
if not q.empty():
message = q.get()
print message
def run_messageoutput():
mo_thread = Message_Thread()
mo_thread.start()
if __name__ == "__main__":
Host = '0.0.0.0'
Port = 9999
run_socketserver(Host, Port)
run_messageoutput()
client端代码
#!/usr/bin/env python
import socket
HOST = '10.9.3.132'
PORT = 9999
s = socket.socket()
s.connect((HOST, PORT))
while True:
kel = raw_input('>>>')
s.sendall(kel)
print s.recv(1024)
if kel == 'exit':
break
s.close()
最新文章
- 后台返回字符串类型function的处理 (递归算法)
- HDU 3549 网络最大流再试
- 个推+DCLOUD,推送消息和透传消息
- IO端口和IO内存
- eclipse加速
- mysql将多张表COUNT的数据相加
- C语言基础学习基本数据类型-其他整数类型
- SQL Server一些常见却不太记得住的命令
- Poco::TCPServer框架解析
- cocos2d-x3.0数据结构
- mybatis逆向工程生成代码
- [转]SSL协议详解
- LeetCode算法题-Construct Quad Tree(Java实现)
- 第16月第12天 CABasicAnimation 旋转加速
- Windows下用cmd命令实例讲解yii2.0 的控制台定时任务
- 【WebService】调用第三方提供的webService服务(七)
- VS2010 调试C++项目 fatal error LNK1123 错误解决办法
- 用keras实现lstm 利用Keras下的LSTM进行情感分析
- linux常用命令大全3--rpm安装软件
- 动态代理与HOOK(与oc isa 替换)
热门文章
- js文字转移效果
- axios post请求报错
- C#在服务端验证客户端证书(Certificate)
- ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined) D. The Door Problem 2-SAT
- Spring AOP 切面编程记录日志和接口执行时间
- Eclipse打JAR包,插件FatJar安装与使用
- Oracle 起诉 Google 事件
- OAuth简介(包含简明使用教程)
- 1月5日 对象Object, 含过去看的英文档的总结链接
- Snagit安装步骤