簡體   English   中英

按下鍵時 Telnet 失去連接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM