Tag: socket.io

socket.io-java-client cookies / custom headers

我正在为一个网站做一个移动应用程序,他们使用Socket.io和Websocket进行交流。 我在Android上使用socket.io-java-client连接到Socket.io服务器,问题是,我不知道如何用它设置自定义头文件/ cookie。 这是代码的样子: public void runIO(){ try { SocketIO socket = new SocketIO(“http://192.168.1.60:1337”); socket.connect(new IOCallback() { @Override public void onMessage(JSONObject json, IOAcknowledge ack) { try { System.out.println(“Server said:” + json.toString(2)); } catch (JSONException e) { e.printStackTrace(); } } @Override public void onMessage(String data, IOAcknowledge ack) { System.out.println(“Server said: ” + data); } @Override public […]

使用netty-socketio服务器限制websockets

我们使用的是https://github.com/mrniko/netty-socketio 。 应用场景:服务器正在通过websocket以高速率将消息推送到客户端。 最近我们遇到了一个问题,即客户端无法处理来自socket.io服务器的所有事件消息。 websocket消息开始堆积,客户端变得没有响应。在Chrome开发人员工具中,我们可以看到客户端的内存逐渐增加。 使用wireshark分析tcpdump表明发生了大量重传,客户端无法应对。 我们计划在服务器端有一个限制机制。是否有任何事件/回调可用于检测慢速客户端,以便我们可以在服务器端为这个特定的websocket启动限制?

单个socket.IO连接android中的所有活动

我在这里为SocketIOClient引用创建了Singleton类。 服务器已连接。 我可以将活动请求发送到SocketIOClient。 但是如何在Activity中获得Singleton类的响应? 我的活动: import java.net.MalformedURLException; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { EditText uname, passwd; Button login; JSONObject json; SocketIOClient socket; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); socket = new SocketIOClient(); try […]

什么可能导致“IO错误java.net.SocketException:select failed”?

我的笔记本电脑上运行的服务器程序,相同的路由器和相同的代码。 它工作正常,客户可以连接。 然而,当我将工作区复制到我的PC并运行它时,我得到了这个废话: IO错误java.net.SocketException:选择失败 这是代码…… public static void main(String[] args) { System.out.println(“running server!”); int nreq = 1; try{ ServerSocket sock = new ServerSocket(7331); for(;;){ Socket newsock = sock.accept(); System.out.println(“Creating thread…”); //Thread t = new ThreadHandler(newsock, nreq); //t.start(); nreq++; } } catch(Exception e) { System.out.println(“IO error ” + e); } 基本上什么可能导致这个错误(我在网上找不到有用的信息)在一台PC而不是另一台PC上发生? 它必须与PC本身有关。 我最困惑。 基本上它无法打开套接字? 这是完整的堆栈跟踪: java.net.SocketException: […]

如何使用socket.io进行后备工作?

我想将WebSocket与Java一起使用。 问题是,我的服务器通过无法配置的代理与客户端分离。 我一直在寻找具有后退function的WebSocket实现,例如long-polling 。 我找到了socket.io但不知道后备是如何工作的。 在哪种情况下它取代WebSocket以及如何? 是否有其他库,如socket.io与回退实现? 我想在Java找到一个,但我只找到了Jetty 。 编辑:回退只取决于浏览器与WebSocket的兼容性吗? 如果失败的原因是代理配置错误,那么socket.io会将其检测为兼容性故障,从而切换到长轮询(或其他技术)? 答:从v1开始,socket.io包含engine.io ,它带来了以下function:

Java中的SocketIO Client,如何实现与netty-socketio Server一起工作?

对于大学的实践课程,我必须用Java编写一个带有客户端/服务器基础结构的小游戏。 我需要使用Websockets进行通信,其他学生的解决方案必须与我的兼容,为服务器端选择了Netty SocketIO Server( https://github.com/mrniko/netty-socketio/tree/master/src )。 我已经知道如何设置服务器: Configuration config = new Configuration(); config.setPort(1234); config.setHostname(“localhost”); server = new SocketIOServer(config); server.addConnectListener( (client) -> { System.out.println(“Client has Connected!”); }); server.addEventListener(“MESSAGE”, String.class, (client, message, ackRequest) -> { System.out.println(“Client said: ” + message); }); server.start(); 现在请你解释一下,客户端代码应该是什么样的,以及我应该使用SocketIOClient(Netty只带来接口)的实现? 如果你能告诉我产生输出的代码会很棒 客户已连接! 客户说:你想要的任何消息:) 我真的被困在这里,已经在玩这样的实现https://github.com/socketio/socket.io-client-java但仍然无法弄清楚如何构建客户端并连接到我的服务器。 谢谢你的帮助。 费利克斯

Java中的独立Socket.IO服务器

我正在寻找一个用Java编写的简单Socket.IO服务器。 我熟悉这个 ,但它依赖于servlet,我在我的应用程序中没有使用它。 我正在寻找类似的东西,但支持所有的Socket.IO协议,而不仅仅是WebSocket部分。 编辑 :这也意味着没有Jetty等。

Java自定义事件处理程序和侦听器

我目前正在使用Socket.io的Java实现,可在此处获取: netty-socketio 我已经启动并运行了服务器,它在客户端和服务器之间很好地接收/发送消息,但是我需要在接收到某些消息时触发事件,这就是我感到困惑的地方。 这是我的代码: server.addEventListener(“message”, clientData.class, new DataListener() { @Override public void onData(SocketIOClient client, clientData data, AckRequest ackRequest) throws Exception { System.out.println(“Message from client: ” + data.getMessage()); } }); public class clientData{ String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } } 基本上我想要发生的是当从客户端收到特定消息时,我需要在另一个类中运行一个函数。 我花了最近两个小时阅读Observable , Observer […]

Android developpement,Gottox socket.io-java-client:file not fount Exception /socket.io/1/

这是我的问题: 我一直在尝试使用socket.io-java-client作为Android应用程序,但我最终会出现握手错误(见下文)。 这是我的应用程序源代码: public void runIO(){ try { SocketIO socket = new SocketIO(“http://192.168.1.60:1337”); socket.connect(new IOCallback() { @Override public void onMessage(JSONObject json, IOAcknowledge ack) { try { System.out.println(“Server said:” + json.toString(2)); } catch (JSONException e) { e.printStackTrace(); } } @Override public void onMessage(String data, IOAcknowledge ack) { System.out.println(“Server said: ” + data); } @Override public void […]

Java socket.io客户端

是否有可用于Java的Socket.IO客户端? 到目前为止,我只发现了官方的Socket.IO客户端,它只适用于JavaScript和socket.io-java,它只是服务器。