簡體   English   中英

如何從 Asterisk AGI Console.Read() n 行數

[英]How to Console.Read() n number of lines from Asterisk AGI

我通過 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);
}

AGI 命令結束 - 空行。

因此,您應該閱讀所有空行,丟棄該行。 每次。

或者只是閱讀已經完成的庫的源代碼。 有幾十個。

https://www.voip-info.org/asterisk-agi/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM