我有点困惑,希望有人能给我一些提示。
我需要从TCPSocket(我无法修改)获得一些数据到iPad上"运行"的HTML5/javascript -网站。
有几件事,我想我明白了:JavaScript不支持普通TCPSockets, HTML5也不支持
JavaScript支持WebSockets (var socket = new WebSocket…)o_0
Java本身不支持WebSockets
web的每一个边缘都推荐"jWebSocket"作为Java WebSocket实现
- jWebSocket仍然不像我在java应用程序中使用的lib,在非常原始的伪代码中,像这样说:
ClientSocket tcpSocket = new ClientSocket(whatever);
WebSocket webSocket = new WebSocket(whatever);
tcpSocket.connectToTCPServer();
webSocket.acceptClientConnection();
data = tcpSocket.receive();
processedData = processData(data);
webSocket.send(processedData);
对吧?
看在上帝的份上,那么实现上述内容的最短方法是什么?整个网络都在谈论的简单的web2.0交流在哪里?老实说,我不必下载并构建整个jWebSocket-Maven-Projekt,对吗?
提前感谢,Andreas
如果Java实际上不是一个硬要求,那么一个简单的解决方案将是使用websockify,它是专为WebSockets和原始TCP套接字之间的代理/桥接而设计的。websocify是一个简单的python服务器。
WebSocket解决的挑战之一是,许多浏览器实现还不支持WebSocket API更改以支持二进制数据(如果您连接到常规TCP服务器,那么您可能需要能够发送/接收二进制数据)。WebSocket通过对来自WebSocket客户端的数据进行base64编码/解码来解决这个问题。包含的include/websock.js发送和接收二进制数据(作为一个普通的Javascript字节数组)。参见websock.js API。
免责声明:我制作了websockify。