いくつかのレガシー シリアル通信コードをリファクタリング/更新しようとしています。私はこれを持っています:
private SerialPort cereal;
private String receivedData;
private FileXferLegacy()
{
cereal = new SerialPort("COM1", 9600);
cereal.PortName = "7727";
cereal.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
// Is this just as well, as the elided part is grayed out above?: cereal.DataReceived += port_DataReceived;
}
...しかし、接続して ping を送信しようとすると、 「 The port '7727:' does not exist 」というエラー メッセージが表示されます。
public void SendDataContentsAsXML(string destinationPath, string XMLData)
{
byte[] stuff;
ExceptionLoggingService.Instance.WriteLog("Reached FileXferLegacy.SendDataContentsAsXML"); // <= This is written to the log file
cereal.Open();
stuff = System.Text.UTF8Encoding.UTF8.GetBytes("PING" + "\n");
cereal.Write(stuff, 0, stuff.Length);
stuff = System.Text.UTF8Encoding.UTF8.GetBytes(XMLData + "\n");
cereal.Write(stuff, 0, stuff.Length);
}
7727 は、レガシ アプリで正常に使用されているのと同じポートです。
コロンが追加されていることがわかりますが、それが問題なのかどうか疑問に思います-昔ながらの「7727」ではなく「7727:」が表示されるのはなぜですか。は本当に問題ですか?