我想在python中創建一個TCP端口服務器。這是我到目前爲止的代碼:客戶端上是否存在文件Python TCP服務器
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(('',4000))
sock.listen(1)
while 1:
client, address = sock.accept()
fileexists = client.RUNCOMMAND(does the file exist?)
if fileexists = 0:
client.close()
else if:
filedata = client.RUNCOMMAND(get the contents of the file)
if filedata = "abcdefgh":
client.send('Transfer file accepted.')
else:
client.send('Whoops, seems like you have a corrupted file!')
client.close()
我只是不知道如何運行一個命令(RUNCOMMMAND)如果一個文件在客戶端上存在將檢查。 另外,有沒有辦法檢查客戶機上運行不同命令的操作系統(例如,Linux將使用不同於windows的文件查找器命令)。我完全明白這是不可能的,但我真的希望有辦法做到這一點。
非常感謝。
這看起來像一個服務器的代碼,除非你正在做一個P2P的事情。在客戶端上運行哪些代碼並連接到服務器?只有該機器可以知道文件是否存在,所以服務器將不得不發送文件請求,並且「文件存在?」將在運行自己的客戶端代碼的客戶端機器上進行檢查。 – Paul 2013-03-20 03:40:52
@Paul客戶端代碼是連接到端口4000併發送數據的基本python。我想在這裏的行動是有一個ssh樣的文件檢查系統。如果我在客戶端執行了操作,並顯示響應「是,我擁有該文件」,則任何人都可以連接到服務器並鍵入「是的,我有文件」以進入。這實際上是訪問密碼服務器。這是一個問題,我希望服務器檢查文件是否存在完全封鎖蠻力嘗試。如果該文件不存在,服務器將拒絕而不允許輸入密碼。 – 2013-03-20 04:47:25