2024-10-01 13:38:23 发布
网友
我想在Python中使用UDT library,所以我需要一个包装器。我找到了这个:pyudt,但我不知道如何使用它在对等机之间发送文件。谁能给我指出正确的方向吗?在
经过这么多时间,我发现了这个问题及其解决方案:
安装pyudt-0.1a的步骤如下:
安装: 46-libtho-boost等效 (例如,在linux-ubuntu12.04中,它在reps中。)
将udt.h(from:http://sourceforge.net/projects/udt/)安装到系统目录中,
或者 (将udt.h文件放在与pyudt-0.1a文件相同的路径中,然后更改pyudt.cpp文件“,发件人:
#include <udt.h>
收件人:
)。在
例如:
... libraries=['udt', 'boost_python-py27'])
您必须纠正错误,更改为:
int r = UDT::send(_sock, data.c_str(), data.length(), 0);
int r = UDT::send(_sock, data.c_str(), data.length()+1, 0);
因为还必须发送表示字符串结尾的字符“\0”,否则将在字符串中追加垃圾邮件。在
或者,您可以选择:
_sock = UDT::socket(AF_INET, SOCK_DGRAM, 0); » default
或者:
_sock = UDT::socket(AF_INET, SOCK_STREAM, 0); » optional
在相应的文件夹中:
python2.7 ./setup.py build sudo python2.7 ./setup.py install
或者,(如果您没有管理员权限为所有用户安装,而只想为您尝试一下:
python2.7 ./setup.py build python2.7 ./setup.py install prefix=~/pyudt-0.1a/installation_dir/ #in this case, pyudt would only work if called from that directory
)
然后,简单客户端的代码可以是:
import pyudt socket = pyudt.pyudt_socket() socket.connect(("127.0.0.1", 7000)) socket.send("hello_world!")
它工作了,它和我的cpp服务器对话!在
注意:如果需要更多帮助,可以在python控制台中编写:
import pyudt dir(pyudt.pyudt_socket) # to list the available functions help(pyudt) # to get more help
PS。使用本安装教程创建的文件包括: /usr/local/lib/python2.7/dist-packages/皮尤德。索,和/usr/local/lib/python2.7/dist-packages/pyudt-0.1a.egg-info
你可以试试我的udt_py fork。它现在包含一个示例recvfile.py,可以从udt的app目录中的sendfile守护进程中检索文件。在
recvfile.py
app
sendfile
经过这么多时间,我发现了这个问题及其解决方案:
安装pyudt-0.1a的步骤如下:
安装: 46-libtho-boost等效 (例如,在linux-ubuntu12.04中,它在reps中。)
将udt.h(from:http://sourceforge.net/projects/udt/)安装到系统目录中,
或者
(将udt.h文件放在与pyudt-0.1a文件相同的路径中,然后更改pyudt.cpp文件“,发件人:
收件人:
^{pr2}$)。在
例如:
您必须纠正错误,更改为:
收件人:
因为还必须发送表示字符串结尾的字符“\0”,否则将在字符串中追加垃圾邮件。在
或者,您可以选择:
或者:
在相应的文件夹中:
或者,(如果您没有管理员权限为所有用户安装,而只想为您尝试一下:
)
然后,简单客户端的代码可以是:
它工作了,它和我的cpp服务器对话!在
注意:如果需要更多帮助,可以在python控制台中编写:
PS。使用本安装教程创建的文件包括: /usr/local/lib/python2.7/dist-packages/皮尤德。索,和/usr/local/lib/python2.7/dist-packages/pyudt-0.1a.egg-info
你可以试试我的udt_py fork。它现在包含一个示例
recvfile.py
,可以从udt的app
目录中的sendfile
守护进程中检索文件。在相关问题 更多 >
编程相关推荐