#coding=utf-8
import SocketServer,sys
class MyTCPHandler(SocketServer.BaseRequestHandler):
def handle(self):
try:
while True:
self.data=https://bbs.csdn.net/topics/self.request.recv(1024)
if not self.data:
print("connection lost")
break
self.request.send(self.data.upper())
pass
except Exception as e:
print(self.client_address,"連接斷開")
finally:
self.request.close()
def setup(self):
print("before handle,連接建立:",self.client_address)
def finish(self):
print("finish run after handle")
if __name__=="__main__":
HOST,PORT = "localhost",9999
server=SocketServer.TCPServer((HOST,PORT),MyTCPHandler)
server.serve_forever()
這是個SOCKET SERVER,TELNET后,輸入A,輸出AA,為什么輸出兩個,怎么讓它只輸出一個。謝謝。
uj5u.com熱心網友回復:
因為服務器發送回來轉為大寫的字符了呀
self.request.send(self.data.upper())
你輸入A,又收到了服務器發回來的A,你就看到2個A
uj5u.com熱心網友回復:
那如何讓它只輸出一個A呢,我知道輸出兩個A的原因,就是沒有辦法解決,只輸出一個。
uj5u.com熱心網友回復:
本來就只輸出了一個,只是和你打上去的連起來了
你這樣
self.request.send("\r\nFrom server: {}\r\n".format(self.data.upper()))
uj5u.com熱心網友回復:
在telnet 視窗,你可以按 Ctrl+] 進入命令模式,然后輸入命令發送字串:
send hello world
按下回車發送,再按下回車退出命令模式,就能看到服務器回傳的字串,沒有你打上去的
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/38579.html
上一篇:用python開發軟體,內部可以呼叫matlab程式嗎?
下一篇:小白撰寫SSH程式時出錯,求助
