我和我的朋友都在使用同一个带开放端口的wifi网络。我的朋友正在监听8000端口,我想向他发送一条消息。 如何使用node和socket.io实现该目标?非常感谢
答案 0 :(得分:0)
有很多方法可以设置一个简单的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进行调试。
p.s。还没有测试上面的代码,但这就是想法。