単純なノードjs &ソケットチャットモデルをチェックしていましたが、少し変更を加えました。ユーザーがサーバーとのソケット接続を作成すると、250,000メッセージイベントが発生します。サーバーは他のすべての参加者にそれらのメッセージを送信することによって応答し、動作します。 問題は、何らかの理由で、最初のユーザーが25万のメッセージをすべて送信した後にのみ、他のユーザーが最初のメッセージを取得することです。 希望の結果は、ユーザーとサーバーの両方の何らかの並列実行です。ソケットでループが発生するとサーバーの応答が遅くなる
localhost/3000とchromeデベロッパーコンソールを使用してテストを行いました。 アイデア?ありがとう。
server.js:
var PORT = process.env.PORT || 3000;
var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.use(express.static(__dirname + '/public'));
io.on('connection', function (socket){
console.log('user connected via socket.io');
socket.on('message', function(message){
console.log('Message received: ' + message.text);
socket.broadcast.emit('message', message);
});
socket.emit('message', {
text: 'welcome to chat app'
})
});
http.listen(PORT, function(){
console.log('server started');
});
app.js:
var socket = io();
socket.on('connect', function(){
console.log('Connected to sockets.io server');
for(var i = 0; i <250000; i++){
socket.emit('message', {
text: 'welcome to chat app'
})
}
});
socket.on('message', function(message){
console.log('New message ' + counter);
});