【发布时间】:2016-05-16 17:13:28
【问题描述】:
我正在使用StreamSocket 连接到套接字服务器,并且我使用无限循环来读取数据。每条数据都以'\n\n'结尾。 sn-p 如下所示。但是,我无法知道socket是否还活着,而且每次服务器关闭连接时,ReadAsync()都会抛出异常。连接关闭时如何通知?
public async Task<string> ReadData() {
StreamReader reader = new StreamReader(socket.InputStream.AsStreamForRead());
char[] ch = new char[65536];
int i = 0;
while (IsConnected) {
await reader.ReadAsync(ch, i++, 1);
if (i > 1 && ch[i - 1] == '\n' && ch[i - 2] == '\n') break;
}
return new StringBuilder().Append(ch, 0, i - 2).ToString();
}
【问题讨论】:
标签: c# sockets win-universal-app