2016-04-26 166 views
-3

如何使用c#通過GSM調制解調器發送USSD請求。GSM USSD調制解調器請求

我希望能夠執行任意代碼和響應應該回來爲對象或字符串,我可以使用對正則表達式

+0

需要更多信息來回答這個問題...... C#不包括對此的本機支持。你在使用任何庫嗎? –

+0

我正在使用GSM Comm庫 –

回答

0

這是我提取物,我與GSM通訊庫使用

public string SendUssdRequest(string request) 
    { 
    log.DebugFormat("Sending USSD Request {0}", request); 
    string result = ""; 
    try 
    { 
     IProtocol protocol = comm.GetProtocol(); 
     string gottenString = protocol.ExecAndReceiveMultiple("AT+CUSD=1," + request + ",15"); 
     result = gottenString; 
     int i = 0; 
     if (!gottenString.Contains("\r\n+CUSD: 2")) 
     { 
      bool receiving = false; 
      do 
      { 
       receiving = protocol.Receive(out gottenString); 
       result += gottenString; 
       ++i; 
      } while (receiving); 
     } 

     result = result.Replace("\r\n", ""); 

     result = result.Replace("+CUSD: 2,", ""); 
     result = result.Replace(",15", ""); 
     log.DebugFormat("{1} - USSD Response is: {0}", result,SenderNumber); 
     return result; 
    } 
    catch(Exception ex) 
    { 
     log.Error(ex); 
    } 
    finally 
    { 

     comm.ReleaseProtocol(); 
    } 
    return ""; 
} 
+0

我會試試這個。感謝您的回覆 –

+0

什麼是SenderNumber變量,我假設comm是GSM comm對象? –

+0

發件人號碼是另一個存儲在我的課程中的屬性。你可以刪除它或設置實際的電話號碼,如果你跟蹤它 – Scrappy