当前位置: 首页 > 知识库问答 >
问题:

expressJS和socket.io监听不同的端口和socket.io客户端连接

裴心思
2023-03-14

所以我有一个使用 socket.io 和 expressjs 的 nodejs 应用程序

我使用端口“3000”作为Express应用程序,使用端口“8080”作为套接字应用程序

>

  • 这两种服务是否可以使用相同的端口?(express和socket.io)

    当我想从客户端连接到套接字时,我使用以下代码:

    http://localhost:8080套接字

    什么是连接到它的正确方式(我在互联网上的教程中看到了各种方式),但没有线索。

  • 共有2个答案

    彭衡
    2023-03-14

    是的,两者都可以使用相同的端口。实际上,您应该使用相同的端口使客户端在发送请求时连接到您的 Web 套接字。Socket.io 文档有关于如何连接快递的教程。

    socket.io 文档中的代码:

    var app = require('express').createServer();
    var io = require('socket.io')(app);
    
    app.listen(80);
    
    app.get('/', function (req, res) {
      res.sendfile(__dirname + '/index.html');
    });
    
    io.on('connection', function (socket) {
      socket.emit('news', { hello: 'world' });
      socket.on('my other event', function (data) {
        console.log(data);
      });
    });
    

    如果你想用快速生成器生成的模板连接套接字,你这个:stackoverflow帖子

    墨安阳
    2023-03-14

    这两种服务是否可以使用相同的端口?(express和socket.io)

    var app = require('express')();
    var server = require('http').createServer(app);
    var io = require('socket.io')(server);
    
    server.listen(8080); //or 3000
    

    当我想从客户端连接到套接字时,我使用以下代码:

    在前端:

    包括 socket.io

    <script src="/socket.io/socket.io.js"></script>
    <script>
      var socket = io.connect('http://localhost:8080'); //or 3000
    </script>
    

    编辑:无特快

    var app = require('express').createServer();
    var io = require('socket.io')(app);
    
    app.listen(8080);
    

    更多信息socket.io

     类似资料:
    • 问题内容: 在ExpressJS的第三个版本中, express.createServer() 更改为 express(), 此更改使得很难在同一端口上绑定socket.io。也许有人可以找到明智的决定。 现在,这不起作用: 我当前的工作流程:https : //gist.github.com/3596852 问题答案: 它在socket.io github页面上进行了描述(如@Golo在您的评论

    • 问题内容: 是否有适用于Java的Socket.IO客户端?到目前为止,我只找到了仅适用于JavaScript的官方Socket.IO客户端和仅作为服务器的socket.io- java。 问题答案: 目前的选项有限: http://code.google.com/p/weberknecht/ https://github.com/TooTallNate/Java-WebSocket https:

    • Socket.IO 的开源 iOS 客户端,使用 swift 编写。 演示视频:http://fat.gfycat.com/EssentialBlueElectriceel.webm 使用示例: import Foundationlet socket = SocketIOClient(socketURL: "localhost:8880")socket.on("important message"

    • 我已经为一个服务实现了socket.io,然后删除了它。但是,我仍然有客户机向endpoint/socket.io发出初始连接请求,而endpoint/socket.io已经不存在了。使用各种http状态代码进行响应似乎并不重要。 是否有方法阻止客户端尝试连接?我每分钟收到几千个请求。

    • 问题内容: 谁能推荐适用于Python的Socket.IO客户端库?我环顾四周,但是我只能找到服务器实现或依赖于Twisted之类的框架。 我需要一个不依赖于其他框架的客户端库。 仅使用多种连接类型之一是不够的,因为python客户端将需要与多个socketio服务器一起工作,例如,其中许多都不支持websocket。 问题答案: Archie1986的回答很好,但是套接字更新(已更具体地讲,其协

    • 问题内容: 我正在使用Socket.io,并且想知道从客户端到服务器的连接状态。 像这样: 如果连接断开或由于任何原因断开连接,我需要此信息来向用户提供视觉反馈。 问题答案: 您可以检查属性: 它是动态更新的,如果连接丢失,它将设置为,直到客户端再次选择连接为止。很容易检查或类似的东西。 另一个解决方案是捕获事件并自己跟踪状态。