2017-09-27 14 views
2

私はこれを調べていますが、ですが、私は現在苦労しています。Socket.io MVC node.js room

それはマニュアルに書かれています:

Socket.io APIの同じAPIのは、ソケットを使用して使用することができます

Socket.MVCがSocket.ioのためのちょうど折り返しのメカニズムであるので、 のすべて.MVCモジュール。私の問題は、私はソケットMVCを放出する方法を見つける傾けることである

(バージョンによって異なります)Socket.io Githubに ページ、または http://socket.ioを訪問してAPIの利用できるのすべての リストを参照してくださいルーム。

socketMVC.to(userid).emit('message', {message:2}); 

動作するはずですが、動作しません。どのように私はこれを達成することができますか?

編集: useridはここに割り当てられたものと同じです: import * as io from 'socket.io-client'; server.jsで

ダウンロード

oninit: 
     this.socket = io(this.socketurl); 


     var privateRoom = socket.request.session.passport.user; 

     socket.join(privateRoom); 


     this.socket.on('message', (data) => { 
      // this.messagesCounter = this.messagesCounter + 1; 
       alert("OMG?"); 
      }); 

編集、

io.on('connection',function(socket) { 
    console.log('user connected'); 
    OnlineUsers.push(socket); 
    // socket.join(''); 
    console.log(socket.request.session.passport); 
    console.log("user is connceted"); 




    socketMVC.init(io, socket, { 
     debug: true, 
     filePath: ['./src/routes/sockets.js'] 
    }); 



socket.on('disconnect', function(){ 
    console.log('user disconnected'); 
}); 

socket.on('add-message',function (message) { 
    io.emit('message', {type:'new-message', text: message}); 
}); 

    socket.on('myevent', function(someData) { 
     console.log("MYEVENT WORKS???????"); 
    }); 

}); 

sockets.js

var path = require('path'); 


module.exports = function (socket) { 
    var privateRoom = socket.request.session.passport.user; 

    socket.join(privateRoom); 


    socket.on('testing', function() { 
     console.log('GOT SOME SORT OF RESPONSE!!!'); 
    }); 
}; 
+0

'userid'は正しいですか? – Phix

+0

userid @Phixは、私が割り当てたものと同じです。そうはい – maria

+0

あなたは完全なコードを追加できますか? – Arkerone

答えて

1

socketMVC.io.tosocketMVC.toを交換してください。

+0

12時にチェックインします。それは理論的にそれを解決するだろうか? – maria

+0

ローカルプロジェクトでテストしましたが、 – Arkerone

+1

この質問には答えはありません。批評をしたり、著者の説明を求めるには、投稿の下にコメントを残してください。 - [レビューより](/レビュー/低品質の投稿/ 17508491) – bennygenel

1

私はSocket.IO MVCを使ったことはありませんが、読んだ後は決して使用しません。 MVCのようには見えません。純粋にラッパーではありません。私はMVCフレームワーク(HTTPとソケットの両方)を書いていますが、io.on( "接続")自体ではなく、コントローラにコードを置くときだけMVCとしてカウントすると思います。

関連する問題