首页  

netty-socketio chat demo     所属分类 netty-socketio 浏览量 63
服务端推送技术,一般会涉及WebSocket,WebSocket是HTML5提出的规范,
虽然主流浏览器都已支持,但仍然可能有不兼容的情况,
SocketIO将WebSocket、AJAX和其它的通信方式全部封装成了统一的通信接口,
使用SocketIO时不用担心兼容问题,底层会自动选用最佳的通信方式。

netty-socketio 是一个基于 Netty 框架的 Socket.IO 服务器端实现,
它提供了丰富的功能和便利性,适合用于构建复杂的实时通信应用。


聊天场景: 即时通信
直播场景:互动、弹幕
智能家居IoT:监控、远程控制
游戏场景:互动
交通场景:位置共享
教学场景:在线白板
音视频:WebRTC信令协商
SLB长连接场景:网关


Socket.IO 是一种用于实时双向通信的 JavaScript 库,而 netty-socketio 则提供了在 Java 环境中实现这一功能的能力。 它支持多种传输方式,包括 xhr-polling 和 websocket,并且能够处理命名空间、房间、确认机制、SSL、客户端存储、OSGi、Spring 等功能。 Socket.IO Bidirectional and low-latency communication for every platform https://socket.io/ 支持及时、双向与基于事件的交流。它可以在每个平台、每个浏览器和每个设备上工作,可靠性和速度同样稳定。 高性能 在大多数情况下,将使用WebSocket建立连接,在服务器和客户端之间提供低负载通信通道。 可靠的 连接安全!如果WebSocket连接不可能,它将返回到HTTP长轮询。如果连接丢失,客户端将自动尝试重新连接。 可扩展 将应用程序部署到多个服务器,并轻松地向所有连接的客户端发送事件。 socket.io.js https://cdn.bootcss.com/socket.io/2.2.0/socket.io.js
com.corundumstudio.socketio.netty-socketio:1.7.7 org.slf4j:slf4j-simple:1.7.7 socket.io.js 2.0.0 com.corundumstudio.socketio.demo.ChatLauncher
com.corundumstudio.socketio.demo.ChatLauncher import com.corundumstudio.socketio.listener.*; import com.corundumstudio.socketio.*; public class ChatLauncher { private static final String HOSTNAME = "localhost"; private static final int PORT = 9092; public static void main(String[] args) throws InterruptedException { Configuration config = new Configuration(); config.setHostname(HOSTNAME); config.setPort(PORT); System.out.println("hostname="+HOSTNAME+",port="+PORT); final SocketIOServer server = new SocketIOServer(config); // js client code // var jsonObject = {userName: 'tiger',message: 'hello'}; // socket.emit('chatevent', jsonObject); server.addEventListener("chatevent", ChatObject.class, new DataListener< ChatObject >() { @Override public void onData(SocketIOClient client, ChatObject data, AckRequest ackRequest) { // broadcast messages to all clients server.getBroadcastOperations().sendEvent("chatevent", data); } }); server.start(); Thread.sleep(Integer.MAX_VALUE); server.stop(); } }
/docs/client/index.html var userName = 'user' + Math.floor((Math.random()*1000)+1); var socket = io.connect('http://localhost:9092'); socket.disconnect(); var jsonObject = {userName: userName,message: message}; socket.emit('chatevent', jsonObject);
https://gitee.com/dyyx/work2024/tree/master/demo/netty-socketio/netty-socketio-demo https://github.com/mrniko/netty-socketio-demo/

上一篇     下一篇
netty-socketio 与 websocket

Flutter-MQChat 基于MQTT的现代聊天应用客户端

常用的MQTT客户端与Broker

jks pem cer pfx 证书

slf4j StaticLoggerBinder 静态绑定测试

slf4j StaticLoggerBinder 静态绑定机制