【发布时间】:2019-03-31 00:16:11
【问题描述】:
我有一个简单的程序,旨在通过 TCP 套接字发送原始文本数据。我认为这是一个缓冲问题;但我不确定。似乎没有发送任何数据。
from threading import Thread as thread
from sys import argv
from socket import socket
from tty import setraw
from sys import stdin
from sys import stdout
def rx(so):
while True:
stdout.write(so.recv(1).replace("\n", "\n\r"))
setraw(stdin.fileno())
so = socket()
so.connect((argv[1], int(argv[2])))
thread(target=rx, args=(so, )).start()
while True: so.send(stdin.read(1))
编辑澄清: 未发送键盘数据。
【问题讨论】:
-
这不会发送任何东西,除非你给它发送一些东西。
\n\r错了,应该是\r\n。 -
问:你在按键的任何地方都按了“返回”吗? Stdin WILL 缓冲数据,直到你点击“return”...
-
@paulsm4 是的,但它应该是无缓冲的