Node.jsを使用してAzureWorkerRoleを作成しようとしています。この作品は問題ありません。socket.ioを追加すると、エミュレーターで実行するとNode.jsサーバーが起動しません。アプリケーションのJavaScriptファイルを使用してnode.exeを起動すると、機能します。
最初に、socket.ioモジュールをコピーしないので、エミュレーター内でNode.jsがsocket.ioモジュールをロードできないと思いました。しかし、私はすべてをコピーし、モジュールが欠落している場合、表示されるエラーメッセージは1つではありません。
コンソールのエラーメッセージは次のようになります。
...\node_modules\socket.io\lib\Manager.js:104
Server.on<'error', function(err) {
TypeError: Object 12345 has no method 'on'
私のNode.jsコード:
var port = process.env.port || 12345;
var io = require('socket.io').listen(port);
// start socket
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
// create new push session
socket.on('cid', function (cid) {
console.log(cid);
});
});
console.log("Server running at port %d", port);