流套接字读取器收到0字节和应用程序崩溃(Windows Phone 8)

时间:2014-06-11 10:57:10

标签: c# windows-phone-8 windows-phone

如何处理来自读者的空数据(0字节)?我的应用程序在收到空数据时会强制关闭。这是我的代码:

int i = 0;

    private async void ReceiveData()
    {
        if (socket != null)
        {
            uint s = await dataReader.LoadAsync(1);
            string data = dataReader.ReadString(s);    
            Debug.WriteLine(s);
            if (data=="X")
            {
                i++;    
            }
            if (data == null)
            {
                // what should I put here?
            }
            txtMessage.Text = i.ToString();
        }
    }

当我的应用收到空数据时,我遇到了麻烦,突然间它被迫关闭。知道当我的应用程序收到空数据并等待下一个传入数据时要放入什么代码?

在这种情况下,我希望dataReader继续读取传入的数据,即使数据为空(没有收到数据),并等到它获得下一个传入数据。你会怎么做?

谢谢

1 个答案:

答案 0 :(得分:0)

要重复操作,请使用while循环。

但是,如果从套接字流中读取零字节,则表示套接字已关闭,您应该停止读取。