Rel*_*lla 5 .net c++ sockets boost c++-cli
我想要的是简单的 - 从boost asio socket创建新的C++/CLI .Net套接字的代码示例.怎么创造这样的东西?
这是我想做的伪代码:
.net::socket a;
boost::asio::socket b;
a.assign(b.nativeWin32Socket());
Run Code Online (Sandbox Code Playgroud)
顺便说一句:以下是如何将C++/CLI .Net套接字转换为boost :: asio套接字.
你不能'分离'Boost.ASIO套接字.您可以使用native_handle()成员函数SOCKET从asio::socket对象获取句柄,但必须确保在完成asio::socket对象之后不会破坏对象SOCKET.它继续拥有本机的所有权,SOCKET并在调用析构函数时将其关闭.
像André建议的那样,你可以复制套接字句柄.但是,我不会考虑复制此套接字安全,因为Boost.ASIO会自动将本机SOCKET句柄与I/O完成端口相关联.如果.NET Socket包装器或某些其他代码尝试将重复的套接字与不同的I/O完成端口关联,则会发生错误.我知道.NET 2.0 Socket类实际上将SOCKET句柄与用于异步操作的I/O完成端口相关联.但是,这可能在更新版本中已更改.
| 归档时间: |
|
| 查看次数: |
926 次 |
| 最近记录: |