javascript - 用 Java Vert.x 客户端替换 JavaScript SockJS 客户端
问题描述
我在 java vertx 中有一个工作服务器和一个客户端,但是在 SockJS 中,我想在 java 中制作这个客户端,我怎样才能将它转换为 java:
const EB_EVENT_TO_SERVER = "event.to.server";
const EB_EVENT_TO_CLIENT = "event.to.client.";
const EB_EVENT_TO_CLIENTS = "event.to.clients";
let EB_PATH;
let eb;
function initEventBus()
{
EB_PATH = `${config.host}/${config.folder}/${config.group}/events`;
eb = new EventBus(EB_PATH);
eb.onopen = openEventBus;
}
function sendEventToServer(message)
{
eb.send(EB_EVENT_TO_SERVER, message);
}
function openEventBus()
{
eb.registerHandler(EB_EVENT_TO_CLIENT + playerId, (error, message) => onReceiveUnicast(error, message));
eb.registerHandler(EB_EVENT_TO_CLIENTS, (error, message) => onReceiveBroadcast(error, message));
}
function translateUnicast(json)
{
if (json.hasOwnProperty("players") && json.hasOwnProperty("bricks"))
translateJsonToCanvas(json);
}
function translateBroadcast(json)
{
}
function onReceiveUnicast(error, message)
{
if (error)
console.error("Something went wrong on the EventBus while receiving Unicast");
else
translateUnicast(message.body)
}
function onReceiveBroadcast(error, message)
{
if (error)
console.error("Something went wrong on the EventBus while receiving Broadcast");
else
translateBroadcast(message.body)
}
我正在寻找的主要是vertx客户端连接到我的vertx服务器的基本启动代码
解决方案
试试这个例子
发送和接收消息的主要代码:
HttpClient client = vertx.createHttpClient();
client.websocket(8080, "localhost", "/some-uri", websocket -> {
websocket.handler(data -> {
System.out.println("Received data " + data.toString("ISO-8859-1"));
client.close();
});
websocket.writeBinaryMessage(Buffer.buffer("Hello world"));
});
推荐阅读
- r - 将数据框渲染到闪亮的表格输出中
- javascript - 当我使用任何命令时,在消息中 ping 机器人的响应会重复。不和谐.js
- xamarin - MS Xamarin 已弃用
- procedural - 使用 ML 对一堆游戏关卡进行分类
- python - 从 20 多名玩家中找到最均匀的 5V5 比赛
- solidity - 在我用于测试的 js 文件中。我将发送交易调用到智能合约,那么 value 和 gas 之间有什么区别:
- regex - Scala Regex:匹配非单个字符输入
- asp.net-core - 如何使用 ASP.NET Core 计算用户之间的距离
- file - 使用 SSIS 导入 Fixedwidth 文件
- amazon-web-services - kops 'protectKernelDefaults' 标志和 'EventRateLimit' 准入插件不起作用