- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是 Vert.x 的新手,请原谅我的新手。
我能够使用 Vert.x 创建一个非常简单的 SockJS 服务器,但是我不知道如何在连接打开或关闭时注册事件/回调/处理程序。
使用 JSR-356,处理打开/关闭连接事件非常简单:
@OnOpen
public void onOpen(Session userSession) {
// Do whatever you need
}
@OnClose
public void onClose(Session userSession) {
// Do whatever you need
}
使用 Spring Framework 4.0 M1+ 中的 SockJS 支持,它几乎与 JSR-356 相同:
public class MySockJsServer extends TextWebSocketHandlerAdapter {
@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
// Do whatever you need
}
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
// Do whatever you need
}
}
出于某种原因,我不知道如何在 Vert.x 中做一些概念上如此简单的事情。我以为 Vert.x 很简单?!!
如果有人能指出我正确的方向,请帮忙。
我试过 EventBus 和 EventBus 钩子(Hook),但没有用。也许无论如何这是错误的方法。
我使用的是 Vert.x 2.0.1 版
TIA
最佳答案
这是答案:
HttpServer httpServer = vertx.createHttpServer();
// Create HTTP server
httpServer = httpServer.requestHandler(new Handler<HttpServerRequest>() {
@Override
public void handle(HttpServerRequest req) {
req.response().sendFile("web/" + req.path());
}
});
// Create SockJS Server
SockJSServer sockJSServer = vertx.createSockJSServer(httpServer);
sockJSServer = sockJSServer.installApp(new JsonObject().putString("prefix", "/test"), new Handler<SockJSSocket>() {
public void handle(final SockJSSocket sock) {
System.out.println("New session detected!");
// Message handler
sock.dataHandler(new Handler<Buffer>() {
public void handle(Buffer buffer) {
System.out.println("In dataHandler");
}
});
// Session end handler
sock.endHandler(new Handler<Void>() {
@Override
public void handle(Void arg) {
System.out.println("In endHandler");
}
});
}
});
httpServer.listen(8080);
关于java - 使用 Java 创建 SockJS 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19205257/
目前,我的客户端连接在我刷新页面时打开,在我关闭/刷新选项卡时关闭。 我知道我可以从服务器端关闭连接,但我在文档中找不到从客户端关闭连接的方法。 我希望能够在单击一个按钮时打开一个新连接,并在单击另一
我一直在检查两个类似的解决方案,以使用独立的 Python 服务器通过 sockJS 支持网络套接字,到目前为止,我找到了两个解决方案。 我需要编写一个复杂的、可扩展的基于 web socket 的
我正在尝试从 sockjs-client 库中导入 SockJS。我正在使用 Aurelia 和 typescript ,但在尝试使用 导入时 import { SockJS } from 'sock
我将 https://github.com/mrjoes/sockjs-tornado 用于 Django 应用程序。我可以很容易地从 javascript 控制台发送消息。但我想在 Django 中
我正在关注这个 tutorial此刻,我到了必须在我的 Angular5 组件中实例化我的 SockJS-Client 的地方。 这是我所做的: 我执行以下命令来安装所需的库: npm install
我正在尝试设置一个简单的 html/Js 页面。 我已经安装了 webpack 和 babel。我已经使用“build”和“start”脚本配置了 package.json 文件。 该页面运行良好,但
我正在使用 SocketJS 和 Stomp 通过后端 api 发送文件以进行处理。 我的问题是,如果同时完成两个以上的上传,上传功能就会卡住。 前任: 用户 1 -> 上传文件 -> 后端正确接收文
我想让用户创建并加入“房间”,以便他们可以进行协作。 我正在看SockJs Multiplexer server我想知道我是否可以利用其中的一些来创建并广播到特定的 channel /房间。 在示例中
我正在尝试找出一种方法,让我的 SockJS 客户端在服务器出现故障时重新连接到服务器。 我目前有这个: new_conn = function() { socket =
我正在使用 Vert.x 和 SockJS 来传输封装在消息中的数据。是否有规范 SockJS/Websocket 消息可以有多大? 最佳答案 SockJS 消息的大小没有明确的限制。但不幸的是,So
我正在尝试建立从前端到 vertx 后端的 sock.js 连接。 我最初的尝试是这样的: let token = ''; let data = {'Authorization' : 'Bearer
我正在开发一个 Node.js 后端,它通过 websocket 与一些桌面客户端进行通信,而服务器端的通信是从 Web 前端发起的。一切正常,因为我将 SockJS Connection 实例存储在
我正在开发一个应用程序,它使用 SockJS 来更新连接到服务器的其他应用程序的一些通用数据。问题来了,当我尝试在两个浏览器选项卡中打开它,因为只有其中一个实现了连接,而另一个则一直等待直到超时。 谁
我想通过 Bower 获取最新的 SockJS,并将其保存到我的 bower.json 文件中。 根据GitHub sockjs-client page ,最新版本是 v1.0.3(我看到它的标签)。
有什么方法可以让 Android 与 SockJs 一起在 Phonegap 中打包的应用程序中进行套接字连接?目前我有以下代码可在 iOS 上运行但在 Android 上失败,因为 file:///
使用 node.js 和名为“echo”的 sockjs github 示例 https://github.com/sockjs/sockjs-node ,如果没有任何变化,传输将在大约 130-15
我的应用程序堆栈: 在我的服务器上运行着一个 Redis 服务器。 PHP 后端通过 Redis 服务器与 Predis 库进行通信。它将发布消息。这些消息将由我的 Redis 客户端 (node.j
我有一个网站(Java + Spring)依赖 Websockets(Stomp over Websockets 用于 Spring + RabbitMQ + SockJS)来实现某些功能。 我们正在
我有一个在 localhost:8080 上运行的 SpringBoot 服务器和本地主机上的 npm(服务于 React 应用程序):3000 每当我尝试建立到 spring 的 websocket
正在尝试连接到 SockJs server .我正在从安全的 https 页面 https://localhost/index.php 运行以下代码 var sockjs_url = 'htt
我是一名优秀的程序员,十分优秀!