Java socket.io 客户端
Posted
技术标签:
【中文标题】Java socket.io 客户端【英文标题】:Java socket.io client 【发布时间】:2011-08-12 14:09:06 【问题描述】:是否有任何适用于 Java 的 Socket.IO 客户端? 到目前为止,我只找到了仅适用于 javascript 的官方 Socket.IO 客户端和仅用于服务器的 socket.io-java。
【问题讨论】:
【参考方案1】:目前选项有限:
http://code.google.com/p/weberknecht/
https://github.com/TooTallNate/Java-WebSocket
https://github.com/Gottox/socket.io-java-client
就 WebSockets 而言听起来不错。 Socket.IO 的特定有线协议似乎尚未在 Java 中实现,因此您可能需要自己处理。
【讨论】:
我终于使用了 TooTallNate 的 Java-WebSocket 并自己实现了 Socket.IO 特定的东西。 不错。很想听听你的结果如何:你是在客户端和服务器上都使用 Java,还是在客户端上使用 Java,在服务器上使用 Node.js 之类的东西? 我在桌面客户端上使用 Java,在 Web 客户端上使用 JavaScript(当然),在服务器上使用 Python。 @DontCare4Free 你的 Socket.io Java 客户端开源了吗? @Kevin, github.com/dontcare4free/blservermanager-client/blob/master/src/…,虽然我有报告说它在官方节点 socket.io 服务器上运行得不太好。【参考方案2】:从“支持的传输”下的http://socket.io来看,它可能是几种不同的传输协议:
WebSocket, Adobe® Flash® 插座, AJAX 长轮询, AJAX 多部分流式传输, 永远的 iframe, JSONP 轮询
那么,问题是,你的服务器支持什么?
从 Java 客户端的角度来看,最简单的是 WebSockets。
【讨论】:
是的,服务器支持 WebSockets。我不确定socket.io是否有自己的魔力,或者只是直接连接应该可以。【参考方案3】:如果您需要客户端实现,请查看 java-socket.io.client 我几个月前制作的,我相信有些人已经分叉并将其升级到最新版本: https://github.com/clwillingham/java-socket.io.client
【讨论】:
【参考方案4】:你可以使用socket.io-client.java。
请参阅link 获取源代码。
你也可以找教程here
【讨论】:
【参考方案5】:看看http://techdroid.kbeanie.com/2011/03/websockets-on-android.html。我只需要 WebSockets,所以我也去掉了 WebView 部分,Factory 也是多余的。您可以直接使用https://github.com/anismiles/websocket-android-phonegap/blob/master/src/com/strumsoft/websocket/phonegap/WebSocket.java 并自己实现 SocketIO 规范。
【讨论】:
【参考方案6】:还有一个库是 Jetty:http://www.eclipse.org/jetty/documentation/current/jetty-websocket-client-api.html
【讨论】:
以上是关于Java socket.io 客户端的主要内容,如果未能解决你的问题,请参考以下文章
Gottox socket.io-java-client“握手时出错引起:java.io.FileNotFoundException:http://192.168.1.69:8080 / socket