我正在通过AGI与Asterisk通信,因此我正在使用:
Console.WriteLine(command);
然后:
string res = Console.ReadLine();
读取响应。
这几乎在所有时间都可以正常工作。
当响应有多行时,仅读取第一行。例如:
<Message/ast_msg_queue>AGI Tx >> 200 result=1 (Line 1
Line 2)
即使它是n行,我如何阅读响应?
到目前为止的测试:
StringBuilder sb = new StringBuilder();
int x;
while (true) {
x = Console.Read();
if (x == -1) break; // This never occurs
sb.Append(Convert.ToChar(x));
}
上面的代码创建了一个无限循环,所以也是如此:
StringBuilder sb = new StringBuilder();
string line;
while ((line = Console.ReadLine()) != null) {
sb.AppendLine(line);
}