【发布时间】:2017-10-10 16:45:56
【问题描述】:
我正在尝试通过 TCP 网络套接字 (StreamSocket) 与 XMPP (Jabber) 服务器通信,并且我正在使用以下代码来读取服务器发送给我的内容:
StreamSocket tcpSocket;
StreamReader reader;
int BUFFER_SIZE = 4096;
// Connecting to a remote XMPP server ....
reader = new StreamReader(tcpSocket.InputStream.AsStreamForRead());
string result;
while (true)
{
result = "";
while (true)
{
char[] buffer = new char[BUFFER_SIZE];
await reader.ReadAsync(buffer, 0, BUFFER_SIZE);
string data = new string(buffer);
// Detecting if all elements in the buffer array got replaced => there is more to read
if (data.IndexOf("\0") >= 0 || reader.EndOfStream)
{
result + data.Substring(0, data.IndexOf("\0"));
break;
}
result += data;
}
Debug.WriteLine(result);
}
我的代码适用于长度
有没有办法获取字符串的实际长度并依次读取?
【问题讨论】: