我和我的朋友都使用相同的wifi网络,我们的端口都是开放的。我的朋友正在监听端口8000,我想给他发个消息。如何使用node和socket.io实现这一点?非常感谢
发布于 2018-08-15 04:08:44
有许多方法可以设置一个简单的messenger,标准的方法是在您或您朋友的机器上设置一个socket.io服务器,如下所示:
var app = require('http').createServer(handler)
var io = require('socket.io')(app);
var fs = require('fs');
app.listen(8000);
function handler (req, res) {
fs.readFile(__dirname + '/index.html',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}
res.writeHead(200);
res.end(data);
});
}
io.on('connection', function (socket) {
console.log("user connected!")
socket.on('message', function (message) {
//Sends message to all connected sockets
socket.broadcast.emit("message")
});
});
那么你的index.html应该有一些用于连接到服务器和发送消息的代码:
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io('http://server-ip-or-domain-name:port');
socket.on('message', function (message) {
//processing incoming message here
console.log(message);
});
function sendMessage(msg){
//sends message to server
socket.emit("message", msg);
}
</script>
在此设置中,您和您的朋友都应该能够到达服务器机器。使用ping进行调试。
附注:我还没有测试过上面的代码,但这就是我的想法。
https://stackoverflow.com/questions/51848155
复制相似问题