服务器广播消息,Javascript Websocket服务器消息广播给客户

本文介绍了一个基于Node.js的WebSocket服务器的实现,旨在实现Web客户端与Android客户端之间的消息传递。作者详细分享了服务器端代码,并提供了Web客户端的JavaScript示例及Android客户端的连接处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在尝试在javascript中创建一个虚拟websocket服务器,以便向我的Android客户端应用程序发送一些消息。消息将使用html页面(javascript)注入服务器,这将进一步传递给Android客户端。我能够将这两个客户端(web和android)单独连接到服务器,但是,无法实现我想要的流程,即基于Web的javascript向运行Nodejs websocket服务器发送消息,该服务器将此消息广播到android客户端。 / p>

这是我用于服务器端的代码

var WebSocketServer = require("ws").Server;

var http = require("http");

var express = require("express");

var port = 2001;

var app = express();

app.use(express.static(__dirname + "/../"));

app.get('/someGetRequest', function(req, res, next) {

console.log('receiving get request');

});

app.post('/somePostRequest', function(req, res, next) {

console.log('receiving post request');

});

app.listen(80); //port 80 need to run as root

console.log("app listening on %d ", 80);

var server = http.createServer(app);

server.listen(port);

console.log("http server listening on %d", port);

var userId;

var wss = new WebSocketServer({

server: server

});

wss.on("connection", function(ws) {

console.info("websocket connection open");

var timestamp = new Date().getTime();

userId = timestamp;

ws.send(JSON.stringify({

msgType: "onOpenConnection",

msg: {

connectionId: timestamp

}

}));

ws.on("message", function(data, flags) {

console.log("websocket received a message");

var clientMsg = data;

ws.send(JSON.stringify({

msg: {

connectionId: userId

}

}));

console.log(clientMsg);

});

ws.on("close", function() {

console.log("websocket connection close");

});

});

console.log("websocket server created");

Web客户端:

< script type = "text/javascript" >

var websocketURL = 'ws://localhost:2001/';

function startWebSocket() {

try {

ws = new WebSocket(websocketURL);

} catch (e) {

alert("Unable to connect to webserver")

}

}

function sendMessage(text) {

var message = 'Test message from webclient: ' + text;

ws.send(message);

alert(message);

}

startWebSocket(); < /script>

Button 1 < br >

< button onclick = "sendMessage('From button2')" > Button 2 < /button>

Android客户端:

只需使用套接字类及其方法进行进一步处理

s = new Socket(HOST, TCP_PORT);

请告诉我如何通过websocket服务器将Web客户端生成的消息传递给我的Android客户端。

我正在使用nodejs来实现websocket服务器。

由于

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值