我试图从ISpy C#插件中只向我的Java应用程序发送一个简单的字符串。
我的C#插件客户端代码来自此网站... http://msdn.microsoft.com/en-us/library/bew39x2a.aspx
我的Java代码是
ServerSocket serverSocket;
try {
serverSocket = new ServerSocket(8888);
System.out.println("Server is up");
Socket clientSocket = null;
try
{
System.out.println("Waiting for incoming connections");
clientSocket = serverSocket.accept();
System.out.println("Accepted incoming connection");
}
catch (IOException e)
{
System.out.println("Accept failed: 8888");
System.exit(-1);
}
}
catch (IOException e) {
System.out.println("Could not listen on port: 8888");
System.exit(-1);
}
当我在加载插件的情况下启动ISpy应用程序时,插件的其余部分按预期执行,但Java Server Socket永远不会从C#插件接收连接。 C#插件的客户端代码在此代码调用的单独线程中运行...
_networker = new Thread(() => SendTest()) { Name = "networker thread", IsBackground = false };
其中_networker是线程对象的句柄。
我的问题是,为什么C#客户端不能连接到Java服务器套接字?我在Windows提示时允许使用Java服务器套接字。我在Windows 8 64位上。
如果这似乎是解决我的问题的一种不好的方法,我已经尝试过管道,但这在通过jvm和windows os进行通信之间存在更大的问题。
如果我可以在这些程序之间读取/写入文件,我也不会反对。无论什么有效,我都不会在这里寻找速度或效率。