Commit 43c07707 authored by ibuler's avatar ibuler

使用原生select

parent 01d6f751
...@@ -21,7 +21,8 @@ from pyinotify import WatchManager, Notifier, ProcessEvent, IN_DELETE, IN_CREATE ...@@ -21,7 +21,8 @@ from pyinotify import WatchManager, Notifier, ProcessEvent, IN_DELETE, IN_CREATE
# from gevent import monkey # from gevent import monkey
# monkey.patch_all() # monkey.patch_all()
# import gevent # import gevent
from gevent.socket import wait_read, wait_write # from gevent.socket import wait_read, wait_write
import struct, fcntl, signal, socket, select, fnmatch
import paramiko import paramiko
...@@ -200,16 +201,18 @@ class WebTerminalHandler(tornado.websocket.WebSocketHandler): ...@@ -200,16 +201,18 @@ class WebTerminalHandler(tornado.websocket.WebSocketHandler):
try: try:
data = '' data = ''
while True: while True:
wait_read(self.chan.fileno()) r, w, e = select.select([self.chan, sys.stdin], [], [])
recv = self.chan.recv(1024) if self.chan in r:
if not len(recv): recv = self.chan.recv(1024)
return print recv
data += recv if not len(recv):
try: return
self.write_message(json.dumps({'data': data})) data += recv
data = '' try:
except UnicodeDecodeError: self.write_message(json.dumps({'data': data}))
pass data = ''
except UnicodeDecodeError:
pass
finally: finally:
self.close() self.close()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment