未使用 express js 建立套接字 io 连接
Posted
技术标签:
【中文标题】未使用 express js 建立套接字 io 连接【英文标题】:Socket io connection not established with express js 【发布时间】:2021-12-24 00:28:04 【问题描述】:尝试连接socket io,但无法连接
app.js 文件
var express = require('express');
var path = require('path');
var mongoose = require('mongoose');
var cookieParser = require('cookie-parser');
var index = require('./routes/index');
const api = require('./api/api');
var app = express();
const http = require('http');
const server = http.createServer(app);
const Server = require("socket.io");
const io = new Server(server);
app.set('view engine', 'html');
var subdomain = '';
app.use(express.json());
app.use(express.urlencoded(
extended: true
));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.listen(1337, () =>
console.log('listening on *:1337 ');
);
app.use('/', index);
app.post('/sendMessageToUser' , api.sendMessageToUser);
io.on('connection', function(socket)
console.log('a user connected');
socket.on('disconnect', function()
console.log('user disconnected');
);
);
module.exports = app;
我已尝试从 POSTMAN 和 http://amritb.github.io/socketio-client-tool/ 连接
邮递员给出 404 错误:意外的服务器响应:404 握手细节 状态码:404 未找到
无法理解为什么套接字 io 连接没有发生。其他正常的 API 调用工作正常。
它最新版本的express js和socket io。
注意:我还使用 Sails js 在同一级别上创建了其他项目,该项目与套接字的连接良好。
【问题讨论】:
【参考方案1】:您可以尝试使用服务器侦听而不是应用程序吗?
server.listen(1337, () =>
console.log('listening on *:1337 ');
);
【讨论】:
以上是关于未使用 express js 建立套接字 io 连接的主要内容,如果未能解决你的问题,请参考以下文章
使用快速会话的套接字 IO - socket.request.res 未定义