我需要将由C++应用程序创建的本机winsock套接字传递给我的应用程序中使用java.net.Socket连接到服务器的库。 这winsock appication已经照顾连接插座。 如何显式设置java.net.Socket的套接字描述符?将本地winsock套接字传递给java套接字
1
A
回答
1
我在Unix上遇到过这样的问题,不知道WinSock是否适用于你。
在我们的例子中,C程序使用特殊硬件创建一个套接字。 C程序衍生出Java程序将套接字传递给它。 Java程序然后从套接字的文件描述符构造输入/输出流,以便它可以像正常套接字一样读/写它。
的Java代码片断就在这里,
Class<FileDescriptor> clazz = FileDescriptor.class;
Constructor<FileDescriptor> c;
try {
c = clazz.getDeclaredConstructor(new Class[] { Integer.TYPE });
} catch (SecurityException e) {
e.printStackTrace();
return;
} catch (NoSuchMethodException e) {
e.printStackTrace();
return;
}
c.setAccessible(true);
FileDescriptor fd;
try {
fd = c.newInstance(new Integer(socket));
} catch (IllegalArgumentException e) {
e.printStackTrace();
return;
} catch (InstantiationException e) {
e.printStackTrace();
return;
} catch (IllegalAccessException e) {
e.printStackTrace();
return;
} catch (InvocationTargetException e) {
e.printStackTrace();
return;
}
FileOutputStream os = new FileOutputStream(fd);
FileInputStream is = new FileInputStream(fd);
+0
这很好,我只需要再向前一步,因为我必须提供一个java套接字而不是输入/输出流。 – ApriOri 2010-07-08 11:24:55
相关问题
- 1. 将Winsock移植到Linux套接字
- 2. 如何将本地unix套接字映射到inet套接字?
- 3. Sails.js - 如何将套接字连接传递给子进程
- 4. 将套接字io连接传递给ajax成功函数
- 5. Java套接字到C套接字
- 6. Java套接字 - 套接字端口
- 7. java套接字SocketException套接字关闭
- 8. C++套接字-WString到Java套接字
- 9. 使用传递给线程的套接字时,“套接字已关闭”异常?
- 10. UDP本地套接字reliabiltiy
- 11. 从Boost.ASIO的套接字类中分离出本地套接字
- 12. 套接字程序Python vs C++(Winsock)
- 13. winsock的BSD套接字兼容包装?
- 14. winsock客户端套接字无效
- 15. 套接字无法绑定(C与WinSock)
- 16. 在winsock中检索套接字协议
- 17. 在WinSock中处理异步套接字?
- 18. SO_LINGER和关闭套接字(WINSOCK)
- 19. WinSock:从套接字中删除数据
- 20. 将java套接字客户端移植到HTML5套接字
- 21. node.js将socket.io套接字传递给分支进程
- 22. 如何将节点中的套接字传递给集群
- 23. 将套接字对象传递给Android的另一个活动
- 24. 如何将OpenSSL套接字传递给另一个进程
- 25. 如何通过fsockopen将会话传递给新套接字?
- 26. 使用套接字将PHP请求传递给PHP-FPM
- 27. Nodejs将服务器数据传递给套接字?
- 28. 将套接字传递给客户端后断开/关闭
- 29. AIR(Flex的)本地套接字连接
- 30. 连接到本地套接字
你需要什么用的? – 2010-07-07 09:38:03
这个本地套接字绑定到特殊的硬件驱动程序。 – ApriOri 2010-07-07 09:46:28
我会建议在C中创建一个包装模块,然后使用JNI来访问它。 – 2010-07-07 14:15:49