C# 流套接字读取器接收0字节,应用程序崩溃(windows phone 8)
如何处理来自读取器的空数据0字节?当我的应用程序接收到空数据时,它会一直强制关闭。这是我的密码:C# 流套接字读取器接收0字节,应用程序崩溃(windows phone 8),c#,windows-phone-8,windows-phone,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);
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继续读取传入数据,即使该数据为空,也不接收任何数据,并等待它获取下一个传入数据。你会怎么做
谢谢要重复操作,请使用while循环
但是,如果从套接字流中读取零字节,则表示套接字已关闭,您应该停止读取。什么是dataReader?异常是什么样子的?请发布完整的堆栈trace.dataReader=newdatareadersocket.InputStream;这听起来不像是我熟悉的标准类-名称空间是什么?它是windows.storage.streamsgoot,谢谢。看起来你想检查s是否为0。好了,我现在明白为什么我的应用程序崩溃了。你能给我一些提示我应该把while循环放在哪里吗?while循环应该围绕所有你想重复的语句。