WebSocketの実装にNode.JSExpress v4とsocket.ioを使用しています。NodeJS Express Socket.io別ファイルへの実装
マイapp.jsは、私は、これは新しいファイルに
//Client - Data received
// Emit welcome message on connection
io.on('connection', function(socket)
{
// Use socket to communicate with this particular client only, sending it it's own id
socket.emit('welcome', { message: 'Welcome!', id: socket.id });
socket.on('i am client', console.log);
});
をコード - エクスポートしたいthis-
var express = require('express');
var socket_io = require("socket.io");
var path = require('path');
var favicon = require('serve-favicon');
//var controllers = require('./controllers');
//var middleware = require('./middleware');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
// Express
var app = express();
// Socket.io
var io = socket_io();
app.io = io;
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
app.set('view options', { layout: false }); //Disabling default layout
require('./view_partials')(app);
// uncomment after placing your favicon in /public
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
require('./routes')(app);
//// Socket.io server listens to our app
//Server - Data received
// Send current time to all connected clients
function sendTime()
{
io.emit('time', { time: new Date().toJSON() });
}
// Send current time every 10 secs
setInterval(sendTime, 10000);
//Client - Data received
// Emit welcome message on connection
io.on('connection', function(socket)
{
// Use socket to communicate with this particular client only, sending it it's own id
socket.emit('welcome', { message: 'Welcome!', id: socket.id });
socket.on('i am client', console.log);
});
////////////////////////////////////////
require('./errors')(app);
module.exports = app;
のようなものです。
だから、私が行っていることはthis-
client.jsのようなものです -
//Client - Data received
// Emit welcome message on connection
io.on('connection', function(socket)
{
// Use socket to communicate with this particular client only, sending it it's own id
socket.emit('welcome', { message: 'Welcome!', id: socket.id });
socket.on('i am client', console.log);
});
app.js -
var express = require('express');
var socket_io = require("socket.io");
var path = require('path');
var favicon = require('serve-favicon');
//var controllers = require('./controllers');
//var middleware = require('./middleware');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
// Express
var app = express();
// Socket.io
var io = socket_io();
app.io = io;
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
app.set('view options', { layout: false }); //Disabling default layout
require('./view_partials')(app);
// uncomment after placing your favicon in /public
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
require('./routes')(app);
//// Socket.io server listens to our app
//Server - Data received
// Send current time to all connected clients
function sendTime()
{
io.emit('time', { time: new Date().toJSON() });
}
// Send current time every 10 secs
setInterval(sendTime, 10000);
require('./websocket/client');
////////////////////////////////////////
require('./errors')(app);
module.exports = app;
しかし、どちらも私に与えていますさエラーが発生しているか動作していません。
誰も助けてもらえますか。クライアントとサーバーのコードを分けることができるように、どのように別のファイルにエクスポートできますか?
私のフルコードはhereです。
ご協力いただきありがとうございます。 http://socket.io/get-started/chat/から
こんにちは、皆さんが知っていることは、一般的な概念であり、誰もが知っていることです。お手伝いしたい場合は、私の特定の質問にお答えください。ありがとう –
申し訳ありませんが、私はあなたの質問を完全に理解してはいけません。 –