如何使用UDP套接字在Python程序中传输文件

所以,我有一个由两个进程组成的程序,通常运行在不同的机器上。 一个是显示服务器,另一个是控制器。 现在他们使用UDP数据报套接字进行通信,因为丢失的数据包只意味着一个跳过的帧,并且TCP套接字太慢。 这些计算机知道彼此的IP地址,并知道他们用于UDP通信的端口。

我正在寻找一种易于使用的方式来在Python中将文件从一个文件传输到另一个文件。 我在Windows 7上,所以如果解决scheme是特定于Windows的是可以接受的。 我只是不想让事情变得太乱,打开一堆不同的端口,同时使用UDP和TCP套接字,但如果这是他们的唯一方法,那没关系。

我看了一下ActiveState的配方netcopy: http ://code.activestate.com/recipes/442521-windows-network-file-transfers/它运作良好,但知道什么位置发送文件,并获得到目前为止发送它的权限已经非常棘手,所以这看起来不是我想要的那种解决scheme。

我对疯狂/独特的想法持开放态度。 另外,我对networking编程还相当陌生,所以如果我使用任何术语错误,我表示歉意。

你可以使用tftp 。

我不会使用UDP进行文件传输。 在每一端打开TCP套接字并将自己的文件传输协议放在上面比在UDP之上实现可靠的传输要复杂一些。

如果您确实需要在两端都有文件,则需要对文件名和权限进行一些管理。 如果下载结束只需要文件内容,而不是文件系统中的实际文件,则可以将其关闭。