내가 원하는 것은 C++/CLI .Net 소켓에서 새로운 부스트 asio 소켓을 만드는 코드 샘플이다. 그런 것을 만드는 법?C++/CLI .Net 소켓을 boost :: asio 소켓으로 변환하는 방법?
.net::socket a;
boost::asio::socket b;
b.assign(a.nativeWin32Socket());
내가 원하는 것은 C++/CLI .Net 소켓에서 새로운 부스트 asio 소켓을 만드는 코드 샘플이다. 그런 것을 만드는 법?C++/CLI .Net 소켓을 boost :: asio 소켓으로 변환하는 방법?
.net::socket a;
boost::asio::socket b;
b.assign(a.nativeWin32Socket());
당신이 봤어 : 여기
는 내가하고 싶은 것이의 의사 코드이다?
b.assign(a.Handle.ToInt32());
또한 당신이 B 모두를 얻을 수 있으며,이 소켓을 닫고 기대하지 않습니다 가리 킵니다 당신이 WSADuplicateSocket이를 사용해야합니다 그들은을 확인합니다. (테스트)
SOCKET native = WSADuplicateSocket(a.Handle.ToInt32(),...);
b.assign(native);
전체 응답
SOCKET native = a->Handle.ToInt32();
// Now native is a real socket
b.assign(boost::asio::ip::tcp::v4(), native);
지금은 WSADuplicateSocket이 사용하는 소켓을 복제하는 것이 좋습니다 :
관련 주제 인 http://stackoverflow.com/q/7502644/434051 (Asio to .Net)에 대한 좀 더 자세한 코드 응답을 제공 할 수 있습니까? – Rella
당신이 할 수있는이
그래서 당신은 같은 뭔가가 필요 부스트 asio 소켓에 네이티브 소켓을 할당하려면 assign을 사용하십시오. How to create a Boost.Asio socket from a native socket에 대한 대답을 확인하십시오.
정확히 무엇을해야할까요? Boost :: asio 소켓을 .NET으로 대체 하시겠습니까? – Simon
아니요 - havicg를 만들고 연결을 허용합니다 .Net 측에서 Boost :: asio 소켓으로 .Net 소켓 인스턴스를 변환합니다. – Rella
.NET 소켓을 Boost :: asio 소켓으로 변환한다는 것은 무엇을 의미합니까? 코드 수준에서 이식? 그들 사이의 TCP를 통해 연결을 만들었습니까? 또는? – Simon