gpt4 book ai didi

javascript - 如何从 ws 客户端连接 socket.io?

转载 作者:数据小太阳 更新时间:2023-10-29 03:59:56 24 4
gpt4 key购买 nike

我有一个非常简单的 socket.io 聊天示例,服务器端代码是这样的:

https://github.com/js-demos/socketio-chat-demo/blob/master/index.js

var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.use(express.static('public'));

io.on('connection', function(socket){
socket.on('chat message', function(msg){
io.emit('chat message', msg);
});
});

http.listen(3000, function(){
console.log('listening on *:3000');
});

客户端使用套接字 io 代码连接它并且运行良好:

https://github.com/js-demos/socketio-chat-demo/blob/master/public%2Findex.html

<script>
var socket = io();
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
socket.on('chat message', function(msg){
$('#messages').append($('<li>').text(msg));
});
</script>

但我想使用其他一些 websocket 客户端连接服务器,比如 wscat:

npm install -g wscat
wscat ws://localhost:3000

但是连接不上,报错:

error: Error: socket hang up

我的 url ws://localhost:3000 是不是错了?如何让它发挥作用?

PS:可以看到这个项目https://github.com/js-demos/socketio-chat-demo/并尝试一下

最佳答案

从 Chrome Dev Tools 中,我找到了真正的 websocket url,它应该是:

ws://localhost:3000/socket.io/?EIO=3&transport=websocket

将此 url 与 wscat 一起使用效果很好

关于javascript - 如何从 ws 客户端连接 socket.io?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35642525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com