问题标签 [netty-socketio]

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.

0 投票
1 回答
78 浏览

java - EventLoop#submit() vs #execute() vs Channel#writeAndFlush()

将字节写入通道时,这 3 种方法有什么区别?

在我的例子中,写入这些字节的线程不是属于通道的 EventLoop 的线程,而且我知道 IO 事件总是发生在通道分配的 EventLoop 线程上。

我试图通过尽快刷新这些字节来最小化延迟。为了更好地理解我可以做些什么来优化它,我需要知道这三种将数据写入通道的方式之间的区别,以及我可能错过的任何其他方式?

0 投票
1 回答
55 浏览

scala - Netty-Socketio Scala 中的内存提升问题

我在我的 Scala 应用程序中使用 netty-socketio 1.7.18,但过了一段时间它会因为内存不足错误而关闭应用程序。

我使用 Javascript 创建了一个简单的 socketio 客户端,并且我不断刷新网页以在浏览器中连接/断开连接,堆大小增长非常快(每次重新加载约 100mb)并且它从未被释放。它高达130GB。

我尝试手动调用 GC,但它没有释放。从 VisualVM 看,原因似乎是 netty 缓冲区。

起初我怀疑我自己的 Scala 代码。我将 Netty-socketio 项目的Java 演示转换为 Scala 以创建一个简单的服务器。但是我意识到当我将 netty-socketio 与 Scala 一起使用时会发生这个问题。其他人有这个问题吗?我正在寻找解决方案。

0 投票
1 回答
141 浏览

google-app-engine - 连接到 GCP App Engine 上的 SocketIO 服务器时如何使用域而不是公共 IP?

我将 Java Spring 后端部署到 GAE 灵活环境。我正在使用netty-socketio来托管 socketIO 服务器。我可以使用为此处列出的实例提供的公共 IP 地址与socket.io-client连接:

在此处输入图像描述

这就是我连接它的方式:

请注意,netty-socketio 仅支持 1.0+ 版本,所以我使用的是 socket.io-client 1.7.4,它不是最新版本。

我也在使用自定义域。我的问题是我只能使用 IP 地址连接到服务器,但是当我使用域名时出现超时错误:

这就是我想连接的方式:

到目前为止,我为使其正常工作所做的事情:

  • 我正在使用app.yaml以下配置进行网络会话:
  • 我制定了防火墙规则以允许在我尝试连接的端口上进行连接: gcloud compute firewall-rules create default-allow-websockets --allow tcp:<PORT> --description "Allow websocket traffic"

我当然可以这样使用它,但是一旦我停止并重新启动实例,这个 IP 就会不断变化。希望你能给我一些建议!

0 投票
0 回答
61 浏览

java - @OnConnect 不适用于 Spring Boot 和 Netty 服务器 io 中的命名空间

我已经进行了一些测试,发现使用命名空间存在问题。我所做的是创建一个服务器,添加命名空间“/test”并启动服务器。

然后我连接了一个客户端,我看到命名空间中的 onConnect 事件没有执行。

@OnConnect public void onConnect(SocketIOClient client) { System.out.println("connected");} 这个方法不起作用

0 投票
0 回答
86 浏览

java - AWS API Gateway 上的 Socket.io 连接成功后立即断开连接

我已经在 J​​ava 中使用 netty-socket.io 实现了 socket.io,并将其部署到 AWS API Gateway。

当我尝试使用网关 WSS URL 建立连接时,它会在连接后立即断开连接。

NettySocketConfig.java

API网关配置: API 网关配置

并且 $Disconnect 配置了端点 URL: http://{server.ip.adderss}:5291/socket 和 DELETE 方法类型。

尝试使用网关 URL wss://{app-id}.execute-api.{region}.amazonaws.com/{stage} 连接成功但立即断开连接。

它在本地服务器和客户端服务器上正常工作。

在网关上部署套接字是否有任何错误?

0 投票
0 回答
148 浏览

java - AWS API Gateway WebSocket 错误:意外响应:HTTP/1.1 101 切换协议

我已经在 java spring boot 中使用 netty SocketIO 在后端实现了 Socket.io。客户端使用 ws://{server.ip.address}:5291/socket/?transport=websocket http://{server.ip.address}:5291/socket/?transport=websocket 连接到 WebSocket

这些都按预期工作。现在我已经在 API 网关上配置了带有 HTTP 集成的 WebSocket。

WebSocket 连接

并尝试使用网关 URL wss://{app-id}.execute-api.{region}.amazonaws.com/{stage}/?transport=websocket

但它给出了错误:由于配置错误,执行失败:意外响应:HTTP/1.1 101 Switching Protocols

我试图禁用代理并启用添加集成响应选项-> 在集成 reposne 上添加响应键“/101/”但没有唤醒。

Route Response 似乎也被禁用了。

谁能告诉我如何克服这个问题以及我必须在哪里设置响应代码 101?

我是否需要更改 API 网关的后端代码中的任何内容?

0 投票
0 回答
149 浏览

javascript - netty-socketio 客户端 javascript 客户端连接事件不会触发

我正在为我的服务器使用socket.io 的 netty 实现,为我的客户端使用 javascript。

服务器.java

客户端.js

但是当我运行服务器和客户端时,只有服务器上的连接会触发,而客户端保持沉默。是否有不同的方式在客户端触发连接事件?

0 投票
0 回答
61 浏览

netty-socketio - 如何集成netty-socketio和redisson

将信息发送到特定的客户端,因此客户端的数据必须缓存在后端。
我尝试使用Redis解决问题,但是SocketIOClient无法序列化。
我正在尝试使用Redisson将UUID存储在Redis中,但是我创建了两个SocketIOServer,客户端连接到其中一台服务器,数据不同步,其中一台服务器的大小为0。


翻译自谷歌

0 投票
0 回答
160 浏览

angular - 连接到 netty-socket.io 服务器时的角度客户端“服务器错误”

我正在尝试将我的 Angular 应用程序连接到基于 netty-socket.io 的 java 套接字服务器,但它不工作......

我总是在“connect_error”上收到此错误:

我已经尝试使用socket.io-clientngx-socket-io

服务器端:

客户端通过socket.io-client

app.component.ts

ngx-socket-io客户端:

app.module.ts

app.component.ts

0 投票
1 回答
38 浏览

javascript - SockIO 连接错误,消息不明确

当尝试将我的 react forntend 与 netty -websocket 示例连接时,我收到了来自 sock.io 客户端的此错误:

是的,不开玩笑。他们的前端在使用npx serve. 我正在使用sock.io-client version 4.1.2. 我试过更改连接网址,但它没有解决任何问题。

这是我的前端代码:

Java 服务器不记录任何内容。我的浏览器中的堆栈跟踪是这样的: