2016-04-15 51 views
0

私のサーバーがセットアップされました。今は60秒ごとにメッセージを送信したいだけです。別の機能でメッセージを送信するにはどうすればよいですか?私はfunction gameLoop(){someobject.send(myMessage);}のようなものを書こうと思います。 }その場合、someobject.send(myMessage)は何ですか? wsServer.sendMessage(people, data, id):あなたが使用する必要があり、メッセージを送信するためにタイマーでwebsocket経由でメッセージを送信

var server = http.createServer(function(request, response) { 
    console.log((new Date()) + ' Received request for ' + request.url); 
    response.writeHead(404); 
    response.end(); 
}); 
server.listen(3001, function() { 
    console.log((new Date()) + ' Server is listening on port 3001'); 
}); 

wsServer = new WebSocketServer({ 
    httpServer: server, 
    // You should not use autoAcceptConnections for production applications 
    autoAcceptConnections: false 
}); 

function originIsAllowed(origin) { 
    // put logic here to detect whether the specified origin is allowed. 
    return true; 
} 

wsServer.on('request', function(request) { 
    if (!originIsAllowed(request.origin)) { 
    request.reject(); 
    console.log((new Date()) + ' Connection from origin ' + request.origin + ' rejected.'); 
    return; 
    } 

    var connection = request.accept('echo-protocol', request.origin); 
    console.log((new Date()) + ' Connection accepted.'); 
    connection.on('message', function(message) { 
    if (message.type === 'utf8') { 
     console.log('Received Message: ' + message.utf8Data); 
     if(message.utf8Data == "Map?") { 
     connection.send(JSON.stringify(map)); 
     } 
    } 
    }); 
    connection.on('close', function(reasonCode, description) { 
    console.log((new Date()) + ' Peer ' + connection.remoteAddress + ' disconnected.'); 
    }); 
}); 

答えて

0

。 gameloop()関数にwsServerオブジェクトが必要です。代わりに、wsServerをnode.js内のグローバルオブジェクトに設定することもできます:global.wsServer = wsServer。そして、それにアクセスしてくださいglobal.wsServer.sendMessage("one", "Game Over", id)

+0

私のIDEは、global.wsServer.sendMessage()が未解決の関数またはメソッドであると言っています。 –

+0

'var wsServer = new WebSocketServer({...}) 'を作成した後、' global.wsServer = wsServer'を設定しましたか? – Nivesh

+0

これをコードに追加した後は、次のようになりました:TypeError:undefinedは.send()関数。私はwebsocket v1.0.22パッケージを使用しています。 –

関連する問題