2010-10-01 32 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

相关问题