首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >rxjs/webSocket -到'ws://localhost:3000/‘的WebSocket连接失败:连接在收到握手响应之前已关闭

rxjs/webSocket -到'ws://localhost:3000/‘的WebSocket连接失败:连接在收到握手响应之前已关闭
EN

Stack Overflow用户
提问于 2020-05-03 08:56:53
回答 1查看 5.6K关注 0票数 5

我在后端初始化了WebSocket。

然后使用rxjs/webSocket连接并在浏览器上接收以下错误:

代码语言:javascript
运行
复制
connection to 'ws://localhost:3000/' failed: Connection closed before receiving a handshake response

server.js相关代码:

代码语言:javascript
运行
复制
const { app, onServerInitialized } = require('./app');

const port = normalizePort(process.env.PORT);
console.log('Server is running on port ' + process.env.PORT);
app.set('port', port);

const server = http.createServer(app);
onServerInitialized(server);

app.js相关代码:

代码语言:javascript
运行
复制
const app = express();

const onServerInitialized = server => {
    const io = socketio(server);

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

module.exports = { app, onServerInitialized };

WebSocketService

代码语言:javascript
运行
复制
import { webSocket, WebSocketSubject } from 'rxjs/webSocket';

export class WebSocketService {
    private ws$: WebSocketSubject<any> = webSocket('ws://localhost:3000');

    public getWSListener() {
        return this.ws$.asObservable().pipe();
    }

    public sendMessage(message: string) {
        this.ws$.next({ message });
    }
}

app.component.ts

代码语言:javascript
运行
复制
constructor(
  private webSocketService: WebSocketService,
) {}

ngOnInit() {
  this.webSocketService.getWSListener().subscribe(() => {
    console.log('event')
  });
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-05 11:25:01

您正在使用socket.io包,并且该包已经在/socket.io路径上设置了服务器。所以试试这个uri:ws://localhost:3000/socket.io/?EIO=3&transport=websocket

还要确保在onServerInitialized函数中,不需要在底部添加这一行

代码语言:javascript
运行
复制
io.listen(+process.env.PORT);

编辑:

更好地将ngx-socket-io软件包应用于角度工程

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61571898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档