我正在尝试在 JavaScript 客户端和 Java 服务器之间实现 TCP 连接。(实现必须是这种方式,例如我不能交换到服务器的节点)。
Java 中的 Web 套接字实现看起来非常复杂。我看了一下 Jetty 和 JWebSocket,很快就被吓跑了。我不知道他们的源代码中发生了什么。– 所以我在使用它们实现服务器时运气不佳。
因此,我寻找 websocket 替代品。
我注意到SocketBridge,它看起来非常简单,并且提供了我项目所需的东西,所以我下载了它。
我创建了一个简单的 java 服务器,它只打印我收到的内容并将字符串作为字节发送回来。我使用了预构建的 JavaSocketBridge 并修改了 index.html 以指向我的服务器。我的服务器收到了消息,但客户端上没有任何显示。
function run(){
socket_connect('localhost', 31113);
socket_send("Hello from JavaSocketBridge applet");
}
然后我决定构建 JavaSocketBridge 以查看是否可以调试读取方法。但是我构建的 JavaSocketBridge 拒绝连接错误。
Java Socket Bridge ERROR: Could not connect to localhost on port 31113
Access denied (“java.net.SocketPermission” “127.0.0.1:31113” “connect,resolve” )
(This was in chrome but it happens in firefox too)
所以我的问题:
为什么我的构建会出现套接字权限错误?
为什么即使示例来自 google.com:80,客户端也没有收到任何内容?
笔记。
我的服务器似乎工作正常。(我用一个简单的java客户端测试过,我用java 1.6和1.7搭建了JavaSocketBridge)
我已包含 C:\Program Files\Java\jre7\lib\plugin.jar 我的系统是 Win7 64 并且 java SDK / JRE 是最新的
编辑。我已经回到码头并让客户端/服务器正常工作,但是我会监控这个问题。