我已经创建了一个具有6个不同端点的NodeJS服务器,所有这些端点都在我的SQL数据库上执行基本的CRUD操作。现在,我需要在此服务器上创建一个聊天功能,该功能应托管在同一服务器的第9个端点上(因为聊天还需要使用同一SQL服务器执行一些CRUD操作)。
下面是我的项目结构:
> 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才能工作,但现在我有了不同的项目结构,并且我无法正确运行应用程序。
我不确定如何管理依赖项和实现
我应该把下面的代码放在哪里:(关于我的项目结构)
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);我将处理连接和聊天消息的代码粘贴到哪里:
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文件
发布于 2016-06-19 05:42:17
这需要放在app.js文件的最顶端:
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文件夹中。
https://stackoverflow.com/questions/37899646
复制相似问题