1
我必須撥打電話號碼並檢測對方的調制解調器是否處於掛機狀態。我如何在C#中使用SerialPort完成此操作?使用C#中的內置調制解調器撥打電話
我必須撥打電話號碼並檢測對方的調制解調器是否處於掛機狀態。我如何在C#中使用SerialPort完成此操作?使用C#中的內置調制解調器撥打電話
是的,System.IO.Ports.SerialPort是使用的類。
事情是這樣的:
// Set the port name, baud rate and other connection parameters you might need
SerialPort port = new SerialPort("COM1", 9600);
port.Open();
port.ReadTimeout = 1000;
port.NewLine = "\r";
port.WriteLine("ATZ"); // reset the modem
port.ReadTo("OK\r\n"); // wait for "OK" from modem
port.WriteLine("ATDT 12345678"); // dial number with dialtone
string response = port.ReadTo("\r").Trim(); // read until first newline
port.Close();
這不是測試,因爲我不手邊有一個調制解調器。
您可以在配置正確的Windows中創建連接(以便您可以手動撥號)。然後使用RAS API撥打連接並檢查結果。
如何在使用SerialPort的ATDT命令之後檢測到忙音信號? – jlafay 2011-07-25 15:45:39
自從我撥弄調制解調器之後已經有一段時間了,但是如果您使用終端並使用「ATDT 123456」手動撥號至以繁忙信號響應的號碼,您是否會收到任何輸出/響應?如果是這樣,檢查這一點。您可以發出ATX4,以啓用對撥號音和忙音信號的檢測。 Google for AT命令可以提供有關繁忙檢測的更多信息。 – 2011-07-25 19:33:48
感謝您的幫助! – jlafay 2011-07-25 19:50:08