問題描述
使用 c# System.IO.Ports.SerialPort 寫入 Cisco 交換機並不總是有效 (Write to Cisco Switch with c# System.IO.Ports.SerialPort doesn't always work)
我在 c#
使用 System.IO.Ports.SerialPort
中編寫了一個簡單的代碼,該代碼打開了與 Cisco 交換機的串行端口連接並寫入它。
它可以正常工作,但前提是我先通過 putty.exe
打開連接,然後關閉 putty,然後運行我的代碼。
然後我的代碼才能工作一天沒有 PUTTY(成功寫入交換機)但明天當我再次嘗試我的代碼時它不起作用,除非我再次打開膩子並以相同的方式連接到交換機。
任何想法為什麼有時候是這樣的?交換機是 Cisco Switch 2960cx。
謝謝
參考解法
方法 1:
1) Add timeouts (example)
_serialPort.ReadTimeout = 500;
_serialPort.WriteTimeout = 500;
2) Immediately after opening the connection
_serialPort.Write(new byte[] { 13, 10 }, 0, 2);
(by Hila Z、David Senohrábek)