我无法通过postman连接到Socket.ioexpress服务器

问题描述 投票:0回答:1

我的服务器:

const express = require('express');
const { createServer } = require('node:http');
const { join } = require('node:path');
const { Server } = require('socket.io');

const app = express();
const server = createServer(app);
const io = new Server(server);


io.on('connection', (socket) => {
    console.log('a user connected');
});

server.listen(3000, () => {
    console.log('server running at http://localhost:3000');
});

我启动了服务器,然后在 Postman 中(New -> Socket.io),然后在 URL 输入中添加

localhost:3000
,然后单击“连接”按钮。

Could not connect to localhost:3000
Error:{error}
Handshake Details
Request URL: http://localhost:3000/socket.io/?EIO=4&transport=websocket
Request Method: GET
Request Headers
Sec-WebSocket-Version: 13
Sec-WebSocket-Key: Y493KXLCSfznw+AOEDX2Wg==
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Host: localhost:3000
websocket socket.io postman
1个回答
0
投票

您的

server.js
需要添加一条发送消息给客户端

并从 Postman 发送带有开启事件的消息。

服务器

另存为

sever.js

const express = require('express');
const { createServer } = require('http');
const { join } = require('path');
const { Server } = require('socket.io');

const app = express();
const server = createServer(app);
const io = new Server(server);

io.on('connection', (socket) => {
    console.log('a user connected');

    socket.emit('hello', { message: 'Hello from server!' });

    socket.on('message', (data) => {
        console.log('Message received from client:', data);
        socket.emit('response', { message: `Server received: ${JSON.stringify(data)}` });
    });
});

server.listen(3000, () => {
    console.log('server running at http://localhost:3000');
});

邮递员克林特

网址

http://localhost:3000

留言

{ "message": "Hello I am client" }

开机事件

response    : LISTEN ON

© www.soinside.com 2019 - 2024. All rights reserved.