我正试图了解WebSockets如何在Node.js中运行,但我在发送邮件时遇到了一些麻烦。
我的WebSocket服务器配置如下(index.js)
var ws = require("ws");
var wsserver = new ws.Server ({
server: httpserver,
port: 3030
});
wsserver.on (
"connection", function connection(connection) {
console.log("connection");
}
);
wsserver.on (
"open", function open(open) {
console.log("open");
}
);
wsserver.on (
"message", function message(message) {
console.log("message");
}
);
这似乎工作正常,因为我可以使用
建立连接var wscon = new WebSocket("ws://192.168.20.88:3030");
然后它给我服务器上的连接输出。如果我尝试使用send虽然似乎没有发生任何错误消息
wscon.onopen = function(open) {
wscon.send("test message");
}
我必须遗漏一些东西,但我不知道是什么
答案 0 :(得分:1)
哪种依赖对我有用?
我一直在使用socketIO一段时间,它非常适合Node.JS API /服务器。这个框架有数百万个在线教程,我会告诉你一个。
如何安装?
如果您使用NPM作为Node.JS中的包管理器,只需使用以下命令:
npm install --save socket.io
如果你正在使用纱线,你可以按如下方式安装socketIO:
yarn add socket.io
设置套接字服务器:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
// Used for serving the HTML page (if used)
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
// Listen for new connections
io.on('connection', function(socket){
console.log('a user connected');
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
现在在index.html中,我在:
之前添加了以下代码段<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io();
</script>
在您的前端,您可以通过调用以下函数/代码来通过套接字触发事件:
<script src="/socket.io/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
<script>
$(function () {
var socket = io();
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
});
</script>
在我们的案例中,我们发出了一个名为聊天消息的事件。因此,为了通过套接字连接接收值,我们在后端/ api中调用以下代码:
io.on('connection', function(socket){
socket.on('chat message', function(msg){
console.log('message: ' + msg);
});
});
这基本上就是你如何在库SocketIO中使用socket。希望这有助于解决您的问题!