2016-07-26 19 views
0

サーバーから送信されたデータを受信できない理由がわかりません。websocketサーバーからメッセージを受信できない

サーバーはhttps://github.com/websockets/wsを使用してnode.jsで書かれており、例を使用してサーバーをセットアップします。これは私がデータを送信する方法である:

wss.on('connection', function connection(ws) { 

    ws.on('open', function(){ 
    ws.send('You are logged'); 
    }) 

    ws.send('something'); 
}); 

これは、私は、問題は、私がかつて「何か」を受けるということですClientWebSocket

public static async Task ReceiveData(ClientWebSocket ws) 
    { 
     ArraySegment<Byte> buffer = new ArraySegment<byte>(new Byte[8192]); 

     WebSocketReceiveResult result = null; 
     while (ws.State == WebSocketState.Open) 
      { 
       using (var ms = new MemoryStream()) 
       { 
        do 
        { 
         result = await ws.ReceiveAsync(buffer, CancellationToken.None); 
         ms.Write(buffer.Array, buffer.Offset, result.Count); 
        } 
        while (!result.EndOfMessage); 

        ms.Seek(0, SeekOrigin.Begin); 

        using (var reader = new StreamReader(ms, Encoding.UTF8)) 
         Console.WriteLine(reader.ReadToEnd()); 
       } 
      } 
    } 

を使用してC#でデータを受信する方法です。私の目標は、毎秒 "あなたはログに記録されました"というメッセージを受け取りたいのですか?

編集:明確化... ws.on( 'open'、..)内のメッセージが何らかの理由で送信されないという問題があります。

はあなたの時間を感謝:)

答えて

0
ws.on('open', function(){ 
    ws.send('You are logged'); 
    var timer = setInterval(function() { 
     if (ws) 
      ws.send('You are logged'); 
     else 
      clearInterval(timer); 
    }, 1000); 
}); 

+0

問題は、ws.on( 'open'、function(){ws、send( 'some message');}内のメッセージが全く送信されないということです。 ws.on( 'open'、...)の後にあります –

関連する問題