问题标签 [socket.io-java-client]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何使 Java Socket.IO 客户端解码/编码二进制,而不是 json?
我正在使用来自此存储库的 Socket.IO 客户端库:io.socket:socket.io-client:1.0.0
和来自此的服务器库com.corundumstudio.socketio:netty-socketio:1.7.12
。
我在客户端和服务器之间发出一个简单的数据对象。服务器以二进制工作并仅在二进制数据带有此事件时触发事件侦听器:
但是,客户端使用 json 而不是二进制文件。它以 json 格式提供接收到的数据,但我可以将其转换为对象。问题是当我发出对象时,它会将其转换为 json,因此服务器不会在其上调用事件侦听器。
如何使客户端库以二进制而不是 json 工作?我看到它有decoder
IO.Optionsencoder options in
类可能会有所帮助。
java - 如何使用 socket io 监听 tcp 端口?
我有一个正在端口上写入的应用程序(在特定端口上使用 spring-integration tcp-outbound-channel 的 TCP 消息)。我想编写一个侦听器,它将侦听并验证来自此端口的消息。
建议之一是使用 socket.io。我试图做一个示例 POC,但我无法启动非 http 服务器。如何启动基于 socket.io 的服务器,该服务器将侦听通过 TCP(没有 http)发送的消息。
feathersjs - 我如何在没有羽毛客户端的情况下在 socket.io android 中收听自定义服务的事件
我在服务器端使用了featherjs,不幸的是,不再支持android中的feathers-client。所以,我认为我只需要使用socket.io-client来监听feathers serivce事件,但我不知道该怎么做它
java - Socket.io 突然崩溃,说“java.lang.IllegalArgumentException:需要包含原因的代码”。
我的应用程序经常与java.lang.IllegalArgumentException: Code required to include reason
. 我已尽力减少运行线程的服务的负载,该线程将客户端应用程序连接到node.js
服务器,但我仍然收到此错误。我认为异常是由于我尝试收听时的通信错误而发生的,但我不确定。
这是我的Service
课。
这就是我每次发出时处理线程以监听来自服务器的响应的方式。
以防我使用该服务离开当前活动,我像这样释放了内存。
不知何故,某处发生了一些奇怪的事情,我得到了这个我不熟悉的错误。它实际上指向我正在听的。
java - 在 Application 类中使用 SharedPreferences 数据
我正在开发一个应用程序并在其上使用 Socket.io,我在扩展 Application 的类中初始化套接字,如下所示:
因此,我可以在应用程序代码的其他部分调用以下方式获取和使用相同的套接字实例:
但是有一个小问题促使我发布这个问题,当我在 Application 类中调用 SharedPreferences 时,你能看到吗?我这样做是因为我需要发送会话令牌和用户帐户 ID 以正确启动与我的服务器的套接字连接,问题是:
假设一个用户第一次打开应用程序并且还没有帐户,他将登录或注册,然后会话令牌和用户 ID 将被保存到 SharedPreferences,但是当应用程序启动并运行 Application 类时,SharedPreferences仍然是空的,并且没有建立连接所需的令牌和用户 ID,因此用户现在必须重新打开应用程序才能成功使用套接字。
所以我问你:我有哪些解决问题的替代方案?除了 Application 类之外,还有其他结构可以用来避免这个问题吗?或者有什么方法可以绕过这个问题?
我现在要解决的问题是在登录时以编程方式重新启动应用程序,但我相信这看起来像是一个可悲的笑话,而不是理想的方法。
谢谢,对于我的这个冗长的问题,我深表歉意,但我将不胜感激。
android - Java 客户端未连接到 NodeJS Socket.IO 服务器
我正在尝试在我的 android 应用程序中实现一个简单的 socket.io 客户端,以连接到我的计算机上托管的服务器。通过一些示例,我设法将 android 应用程序连接到https://socket-io-chat.now.sh/,所以我认为代码应该是正确的。问题是,如果我克隆聊天示例的存储库并在我的计算机上运行它,它就像我网络中连接的每个浏览器的魅力一样,但它不是来自我的应用程序,它继续触发EVENT_CONNECT_ERROR
。
正如我所说,因为我可以成功连接到在线服务器,我不认为问题可能出在客户端代码中,但由于服务器代码也是相同的,所以我无法想象其他任何东西。
我唯一注意到的是在线服务器使用安全连接,而我尝试使用http://192.168.178.25:3000连接到我的本地计算机......不知道这是否意味着什么。
这是我的客户代码:
服务器代码是这个repo 之一,我只更改server.listen(port, () => {
为server.listen(port, "0.0.0.0", () => {
提前感谢您的帮助,
洛伦佐
java - 如何在 Java 后端保护套接字?
我是套接字的新手,我正在尝试连接安全套接字。它与Http一起工作正常但我在Https上不断失败,如何在 java 中建立安全的套接字连接?
android - 未在 Android 中重建数据包时得到二进制数据
我通过套接字交换了二进制数据。我在中使用了套接字库
当我使用socket.on
. 错误是:
不重建数据包时得到二进制数据
请帮我。下面是我的服务器代码:
java - Java socket.io 等待回调
我的活动代码:
我如何等待value
来自 socket.io 回调的那个?
java - Java CountDownLatch 等待异步回调
首先,我是 Java 的新手。我想要实现的是在返回它们之前等待异步结果。
MainActivity.java:
在上面的代码中,socket.emit
函数永远不会执行。我的代码有什么问题?或者更好地在这里使用其他方法?如果是,那是什么?