2

Windows 8アプリでwebsocketからバイトを受信しようとしましたが、 readStream.CopyTo(memoryStream);バイトを取得するために使用してもアプリが異常に動作する場合。受信バイトからバイト配列を取得する方法を知っている人はいますか? サーバーに 7 バイトを送信してから 1752 バイトを取得しましたが、これらのバイトを取得する方法がわかりません。バイトをカウントすることしかできません。標準の Windows 8 サンプル Connecting with WebSockets サンプル (Windows 8) を使用します。

private async void ReceiveData(object state)
{
    int bytesReceived = 0;
    try
    {
        Stream readStream = (Stream)state;                
        int read = await readStream.ReadAsync(readBuffer, 0, readBuffer.Length);
        bytesReceived += read;
        MarshalText(DataReceivedField, bytesReceived.ToString(), false);

        using (var memoryStream = new MemoryStream())
        {
            readStream.CopyTo(memoryStream);
        }                   
    }
    catch (...)
    {
        ....
    }
}
4

1 に答える 1

0

データの受信は、本来あるべきほど単純ではありません。私は、さまざまな形式で見つけることができる、既にコード化されたクラスを使用することを好みます。

非常に素晴らしいプロジェクトはこれです: http://www.daniweb.com/software-development/csharp/code/422291/user-friendly-asynchronous-event-driven-tcp-client

于 2013-08-08T08:28:37.383 に答える