- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我如何正确转发声明一个类?
//client_functions.cpp
using namespace libtorrent;
session Sess;
bool Start_Client_Sess( )
{
Sess.add_extension ( create_ut_pex_plugin );
Sess.add_extension ( create_ut_metadata_plugin );
Sess.add_extension ( create_lt_trackers_plugin );
Sess.add_extension ( create_smart_ban_plugin );
Sess.start_upnp( );
Sess.start_natpmp( );
Sess.start_dht( );
Sess.start_lsd( );
error_code e;
Sess.listen_on ( std::make_pair ( 6881 , 6889 ) , e );
if ( e )
{
#ifdef DEBUG_CONSOLE
std::cout << "Start Client failed\n";
#endif
return false;
}
return true;
}
我遇到的问题是代码是如何只有一个 Sess
的,这就是它需要的方式,就好像 session Sess;
在每个客户端函数中声明一样新 session 已创建,但现在 session Sess;
在函数外部声明,然后应用程序无法正确关闭,因为 Sess
有自己的线程并从对应用程序的第二次调用导致第二个实例挂起。
我想我需要 session Sess;
在 _tWinMain
中,但是把它放在那里让我在 client_functions.cpp
上出错,它提示说Sess
未定义。
最佳答案
听起来您希望多个翻译单元共享一个全局 session
实例。你可以做的是,在一个翻译单元/cpp 文件中定义 Sess,像这样(假设这是你的 main.cpp):
libtorrent::session Sess;
在它的头文件(main.hpp)中,包括:
extern libtorrent::session Sess;
在任何其他想要使用 session 的翻译单元/cpp文件中,确保包含头文件(main.hpp),然后你可以使用main.cpp创建的实例
关于c++ - 类前向声明 libtorrent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28914946/
编译libtorrent教程时'hello world'与: g++ main.cpp -o run -ltorrent-rasterbar -lboost_filesystem-mt -L/usr/
是否有人为洪流创建了填充文件? 如今有多少客户使用这些东西? “填充文件”是否全面? 我在ctorrent,trent,trasmission等新客户中没有发现此功能。 您是否具有此功能的实现或有关此
当我尝试使用 VIsual studio 9.0 进行构建时,我正在为我的应用程序使用提升,我得到1>LINK: fatal error LNK1104:无法打开文件“libtorrent.lib”
在 Libtorrent session 中有一些 enurm,我对如何设置 enurm 有点困惑,例如: struct session_settings { enum s
我如何正确转发声明一个类? //client_functions.cpp using namespace libtorrent; session Sess; bool Start_Client_Ses
我正在使用 libtorrent 将数据传输到 10k+ 个节点。这里我传输的数据非常小(大小为 10-50 MB)。我希望所有节点都将数据保存在内存中,直到所有其他节点完成下载以避免更多的磁盘 io
是否可以通过分配托管文件的服务器的 IP 地址来绕过跟踪器来制作 torrent 文件? 我对通过 libtorrent 的 bittorrents 文件传输协议(protocol)很感兴趣,他们以这
我正在尝试生成一个 torrent 并使用 python libtorrent 为其提供种子,它会生成 torrent,但不会为其提供种子。 我在 Ubuntu 14.04 上使用 libtorren
我有一个问题。我不是 C/C++ 程序员,libtorrent 文档对我来说并不是很清楚。没有像 libtorrent 的 python 文档那样的文档可供查找。 此刻,我尝试在 stackoverf
我使用add_magnet_uri获取信息,但是有一些资源响应慢,我应该使用什么来设置总超时时间? http://www.rasterbar.com/products/libtorrent/manua
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
使用 Rasterbar libtorrent 我不希望下载的数据放在我的硬盘驱动器上,而是放在管道或变量或其他软件上,所以我可以将它重定向到其他地方,Mysql,如果不是我想要的,甚至是垃圾,是如果
我想在开始下载之前设置上传/下载限制。对于前。目前我正在设置下载/上传限制,如下所示: info = lt.torrent_info(ft['torrent_info']) params = { 's
当通过 libtorrent(C++ 库)下载 torrent 时,会创建一个以 torrent 名称命名的文件夹,所有文件都下载到该文件夹中。例如,在 uTorrent 中,您可以在添加 tor
我想使用 libtorrent-rasterbar 来开发一些 torren 测试,但是当我尝试编译包中的示例时,我遇到了这个错误: g++ dump_torrent.cpp In file i
我已经在客户端开发了 torrent 程序,并使用 rutorrent 作为种子文件。我在 rutorrent 中使用插件 peer 来监控使用我的 torrent 应用程序的数字客户端。但在客户端选
我正在尝试设置 session 设置,但出现了一个我不太明白的错误,我能够正常设置 session ,根据 Libtorrent 文档,我只是将 session_settings 结构传递给 set_
我刚刚使用源代码编译并安装了 boost $密码 /Downloads/boost_1_58_0 ./b2 threading=multi link=static runtime-link=stati
据我所知,当播种或下载 Torrent 时,您的 IP 在跟踪器上并且会保留几个小时或几天 我如何使用 Libtorrent 手动告诉我的跟踪器我不再连接到跟踪器它应该忘记我的 IP,因为我既不播种也
我试图让 Session_Status 更新,但由于某种原因,结构的值永远不会更新, session 是这样启动的: using namespace libtorrent; session* Se
我是一名优秀的程序员,十分优秀!