想在tcp server使用ornado.gen.coroutine遇到问题,,tcp server的代
想在tcp server使用ornado.gen.coroutine遇到问题,,tcp server的代
tcp server的代码如下:
#! /usr/bin/env python#coding=utf-8from tornado.tcpserver import TCPServerfrom tornado.ioloop import IOLoopfrom tornado.gen import *class TcpConnection(object): def __init__(self,stream,address): self._stream=stream self._address=address self._stream.set_close_callback(self.on_close) self.send_messages() @coroutine def send_messages(self): yield self.send_message(b'hello \n') response1 = yield self.read_message() print(response1) yield self.send_message(b'world \n') print((yield self.read_message())) def read_message(self): self._stream.read_until(b'\n') def handle_message(self,data): print(data) def send_message(self,data): self._stream.write(data) def on_close(self): print("the monitored %d has left",self._address)class MonitorServer(TCPServer): def handle_stream(self,stream,address): print("new connection",address,stream) conn = TcpConnection(stream,address)if __name__=='__main__': print('server start .....') server=MonitorServer() server.listen(20000) IOLoop.instance().start()
代码运行到yield self.send_message(b'hello \n')这一行,后面的代码就没有执行了,要怎么样才能解决这个问题啊?如果有其他类似的tcp server中使用tornado.gen.coroutine的例子,请告之我,谢谢!!
read_message 也要用 coroutine 修饰 他也是一个异步方法(要传 callback 的)
编橙之家文章,
相关内容
- 关于端口程序监听问题寻求帮助,端口程序监听寻求
- Python源码中输出结果问题,python源码输出结果,def func
- 使用用户关系表中外键获取User应该怎么做,关系表中外
- Python书箱《flask web开发》第七章test问题求助,,Asserti
- Python flask调用PHP脚本执行时失败找不到原因,pythonfla
- Python2.7在做连接mysql数据库操作时崩溃啦,python2.7mysq
- 请问有通用性较强的RBAC模块可以用于web吗,rbacweb,我在
- Python flask代码优化求大神指点,pythonflask,@bp.route(/s
- 关于Flask中endpoint和blueprint正解解读是什么,flaskendpoi
- Python正则表达式匹配数字问题,python正则表达式,上面是
评论关闭