Vert.x विकल्प भी लायक है मानते हुए।
एक ws सर्वर बनाना के रूप में सरल रूप में
vertx.websocketHandler(new Handler<ServerWebSocket>() {
public void handle(ServerWebSocket ws) {
// A WebSocket has connected!
}
}).listen(8080);
या
vertx.createHttpServer().websocketHandler(new Handler<ServerWebSocket>() {
@Override
public void handle(final ServerWebSocket ws) {
logger.info("ws connection established with " + ws.remoteAddress());
ws.dataHandler(new Handler<Buffer>() {
@Override
public void handle(Buffer data) {
JsonObject item = new JsonObject(data.toString());
logger.info("data in -> " + item.encodePrettily());
// if you want to write something back in response to the client
//ws.writeTextFrame(...);
}
});
}
}).listen(port, new Handler<AsyncResult<HttpServer>>() {
@Override
public void handle(AsyncResult<HttpServer> event) {
logger.info("ws server is up and listening on port " + port);
}
});
अधिक जानकारी के लिए यहाँ देखो http://vertx.io/docs/vertx-core/java/#_websockets
तो एक Vert.x के साथ अपने ही WebSocket सर्वर लिख सकते हैं हो सकता है , इसे फतजार के रूप में पैकेज करें, और इसे अपने आप चलाएं।
या आप Vert.x env एम्बेड कर सकते हैं। अपने ऐप में, और अपने वर्टिकल (जो ws सर्वर लागू करता है) को प्रोग्रामेटिक रूप से तैनात करें।
एक और विकल्प जेबॉस का वेब सर्वर अंडरतोव है। जो अनुप्रयोगों में आसानी से एम्बेड करने योग्य है।
इन निर्भरता जोड़ें:
<dependency>
<groupId>io.undertow</groupId>
<artifactId>undertow-servlet</artifactId>
<version>${version.io.undertow}</version>
</dependency>
<dependency>
<groupId>io.undertow</groupId>
<artifactId>undertow-websockets-jsr</artifactId>
<version>${version.io.undertow}</version>
</dependency>
और यहाँ एक नमूना ws सर्वर है:
Undertow server = Undertow.builder()
.addHttpListener(8080, "localhost")
.setHandler(path()
.addPrefixPath("/myapp", websocket(new WebSocketConnectionCallback() {
@Override
public void onConnect(WebSocketHttpExchange exchange, WebSocketChannel channel) {
channel.getReceiveSetter().set(new AbstractReceiveListener() {
@Override
protected void onFullTextMessage(WebSocketChannel channel, BufferedTextMessage message) {
final String messageData = message.getData();
for (WebSocketChannel session : channel.getPeerConnections()) {
WebSockets.sendText(messageData, session, null);
}
}
});
channel.resumeReceives();
}
}))
.build();
server.start();
हे) ठीक) (i भरोसा कर सकते हैं यह अहसास है) मैं अपने जवाब स्वीकार किए जाते हैं;) धन्यवाद !;) – Edward83