2010-10-01 42 views
1

我正在製作一個相對簡單的程序,它也將在幾臺好友電腦上運行,並且他們需要共享一些信息。他們將需要交換ips,以防他們通過dhcp進行更改,或者將來可能還有其他一些事情,但現在就是這樣(如果我改變它,這可能會用於更新程序)。通過互聯網與遠程應用程序傳輸數據的最佳方式是什麼?

如果沒有中間人服務器,有一個更好的方法來阻止他們丟失ip,這也會有所幫助,但最壞的情況下,我可以打電話給他們詢問,因爲這很少發生,如果有的話。我們的信心每隔30天就會更新一次,而且他們經常保持同一個號碼,所以我懷疑這是否會成爲問題,但如果是這樣的話,那麼很少會帶來不便。

我之前沒有做過太多的網絡編程/腳本編寫工作,所以我不確定從哪裏開始。我使用過urllib/urllib2,並進行了機械化,但是我猜這些,雖然他們可以工作,但不是一個優雅的解決方案。我在想電腦會通過指定的端口進行通信,然後在那裏通過監聽,但我不知道哪個模塊可以處理這樣的事情。

感謝朋友。

+0

「我猜這些,雖然他們可以工作,不是一個優雅的解決方案」爲什麼不呢?請解釋你爲什麼不能運行FTP服務器,其他人運行FTP客戶端? – 2010-10-01 15:24:55

回答

2

如果您主要關注IP地址的變化,那麼像dyndns.com這樣的服務肯定會有所幫助。 (您也可以獲得自動客戶端,當您的IP地址發生更改時,它將更新您的DNS條目。)

在數據傳輸之後,您最好使用現有協議(例如HTTP,FTP,... )。例如,有很多現有的HTTP服務器庫。也許基於此的東西將是有趣的:http://docs.python.org/library/basehttpserver.html

+0

我想到了這一點,因爲我使用該模塊的經驗很少(但很少),但我認爲可能有一種更加精簡的方法來實現它。如果沒有更好的建議,這當然可以工作。 – kryptobs2000 2010-10-01 15:01:48

+0

我會繼續這一點,HTTP是迄今爲止通過網絡傳輸文件的最簡單方式。但Python的內置HTTP客戶端庫有點糟糕 - 考慮使用httplib2,如果他們開始緊張起來;) – 2010-10-01 15:44:00

+0

好吧,在對此提出2條建議之後,我認爲這是我將採用的方法,並且感謝對httplib2的建議靜態的,之前沒有聽說過。 – kryptobs2000 2010-10-01 15:54:18

相關問題