请教:使用boost::asio库,acceptor的问题

jxfengzi 2012-08-08 09:02:44
各位好,写了一个跨平台通信库,使用了boost::asio,在windows/osx/linux/Android(NDK)编译测试都OK,

但是,在用java通过jni调用的时候,出现了阻塞。

代码如下:



typedef boost::asio::ip::tcp::acceptor AcceptorType;
typedef boost::asio::ip::tcp TcpType;
AcceptorType m_acceptor;

TcpType::endpoint endpoint(TcpType::v4(), m_port);
m_acceptor.open(endpoint.protocol()); // 这里会阻塞!!!
m_acceptor.set_option(AcceptorType::reuse_address(true));
m_acceptor.bind(endpoint);
m_acceptor.listen();


百思不得其解,在各个平台都工作正常,NDK模式下测试也没问题,偏偏在java通过jni调用的时候,出现阻塞情况。

请教各路高手指点!
...全文
467 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxfengzi 2013-02-20
  • 打赏
  • 举报
回复
谢谢各位,已经解决了。忘记怎么解决了,得上SVN追踪一下。
百度猪头 2013-02-04
  • 打赏
  • 举报
回复
boost asio 貌似不支持 安卓。 你看看这个: http://bbs.csdn.net/topics/360083791
百度猪头 2013-02-02
  • 打赏
  • 举报
回复
多谢大牛,咱加QQ聊吧~ 我qq是17965202 。我这边调用的时候,用tcpdump抓包抓不到,而且程序奔溃了。
  • 打赏
  • 举报
回复
boost::asio的异步方式的函数前面都加有async_的前缀
百度猪头 2013-02-01
  • 打赏
  • 举报
回复
咱们遇到的问题一样,你现在解决了没

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧