Python 在macOS上,龙卷风';s read_bytes在一次接收超过1024字节时挂起
源代码是一个简单的echo服务器,它接收1024字节并按原样返回。奇怪的是,在macOS上,它挂起的输入超过1024字节。(原始插座/扭曲不存在此问题) 如何复制:Python 在macOS上,龙卷风';s read_bytes在一次接收超过1024字节时挂起,python,macos,tornado,Python,Macos,Tornado,源代码是一个简单的echo服务器,它接收1024字节并按原样返回。奇怪的是,在macOS上,它挂起的输入超过1024字节。(原始插座/扭曲不存在此问题) 如何复制: 运行服务器python3server.py 打开其他终端,然后运行nc localhost 1234(telnet也是如此) 粘贴一些任意的1024字节,然后按Control+D(EOF) 挂断 如果我粘贴1023个字节,按Ctrl+D,然后再次键入1个字节并键入Ctrl+D,则会正常处理回显 它在Linux(Docker)上运行良
python3server.py
nc localhost 1234
(telnet也是如此)导入龙卷风
导入tornado.ioloop
导入tornado.tcpserver
输入tornado.iostream
类EchoServer(tornado.tcpserver.tcpserver):
异步定义句柄\u流(自身、流、地址):
尽管如此:
尝试:
消息=等待流。读取字节(1024)
等待流。写入(消息)
除tornado.iostream.StreamClosedError外:
打破
server=EchoServer()
服务器。收听(1234)
tornado.ioloop.ioloop.instance().start()
- 操作系统:macOS 10.14.6
- Python版本:3.7.4
- 龙卷风版本:6.0.3/5.1.1