首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在NodeJS应用程序中使用socket.io添加聊天功能

在NodeJS应用程序中使用socket.io添加聊天功能
EN

Stack Overflow用户
提问于 2016-06-19 01:15:14
回答 1查看 200关注 0票数 0

我已经创建了一个具有6个不同端点的NodeJS服务器,所有这些端点都在我的SQL数据库上执行基本的CRUD操作。现在,我需要在此服务器上创建一个聊天功能,该功能应托管在同一服务器的第9个端点上(因为聊天还需要使用同一SQL服务器执行一些CRUD操作)。

下面是我的项目结构:

代码语言:javascript
复制
> bin
   - www
>js
   - common JS files
>node_modules
   - all node dependencies
>routes
   - endpoint_1
   - endpoint_2
   - endpoint_3
   - endpoint_4
   - endpoint_5
   - endpoint_6
   - chatEndPoint
- app.js 

我已经看过了聊天应用程序演示,因为显示HERE和源代码提到HERE

但是,只有当我有聊天功能时,this source code才能工作,但现在我有了不同的项目结构,并且我无法正确运行应用程序。

我不确定如何管理依赖项和实现

我应该把下面的代码放在哪里:(关于我的项目结构)

代码语言:javascript
复制
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

我将处理连接和聊天消息的代码粘贴到哪里:

代码语言:javascript
复制
io.on('connection',function(socket){
    console.log('one user connected '+socket.id);
    socket.on('message',function(data){
        var sockets = io.sockets.sockets;
        /*sockets.forEach(function(sock){
            if(sock.id != socket.id)
            {
                sock.emit('message',data);
            }
        })*/
        socket.broadcast.emit('message', data);
    })
    socket.on('disconnect',function(){
        console.log('one user disconnected '+socket.id);
    })
})

而且我的服务器已经在一个端口(3881)上运行,所以我是否需要在另一个端口上侦听此聊天功能。

如何为使用和路由/chatEndPoint配置我的app.js文件

EN

回答 1

Stack Overflow用户

发布于 2016-06-19 05:42:17

这需要放在app.js文件的最顶端:

代码语言:javascript
复制
var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);

io.on.connection函数处理app.js中的所有路由,所有套接字函数都放在它内部。阅读有关设置socket.io的This。另外,我建议在根目录中放置一个package.json文件。参见this。不,您不应该需要更改端口。我还建议在根目录下创建一个视图文件夹,将html文件存储在这里。如果您已经为您路由分离了.js文件,请将这些文件存储在routes文件夹中。

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

https://stackoverflow.com/questions/37899646

复制
相关文章

相似问题

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