[英]Detecting when a key is pressed and break when another key is pressed[Python]
[英]Telnet losing connection when key is pressed
我目前正在第一次使用 python 中的編程服務器,我正在使用 telnet 作為我當前的服務器。 我使用名稱 testserver.py 作為我的文件,其中包含 Python 中的服務器代碼。
python testserver.py
如果需要,我可以提供服務器代碼,但我的主要問題是當我在命令提示符中輸入以下文本時:
telnet localhost 8000
其中 8000 是用於表示我的端口的任意數字。 然后我點擊回車,telnet 連接到主機。 但是只要我按下鍵盤上的一個鍵,就會顯示服務器的內容,在我的例子中是“Hello, World!”,並且 telnet 斷開連接。 本質上,我的 telnet 會話即將結束,但我需要讓它保持打開狀態......我該如何解決這個問題?
正如評論中提到的telnet
應該保持連接活躍,只要它沒有關閉。 如果您使用以下服務器代碼,您應該會看到您想要的行為:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(('0.0.0.0', 9999))
s.listen(1)
c,remote=s.accept()
while(len(c.recv(4096)) > 0):
c.send("ok\n".encode())
使用類似python server.py
東西運行上面的代碼,然后您應該能夠從 telnet 獲得類似以下行為的內容,我剛剛能夠在python:3.7.3-stretch
docker 映像(使用 telnet添加)。
root@c4a34304039b:/# telnet localhost 9999
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
test
ok
test2
ok
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.