-2
일부 기존 시리얼 통신 코드를 리팩토링/업데이트하려고합니다. 나는이있어 :이 PortName이 존재하지 않는 이유는 무엇입니까?
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;
}
을 ...하지만 ERR의 MSG "포트 '7727' 존재하지 않는다"는 무엇입니까 내가 연결하고 ping을 보내려고 할 때 :
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 :"이 보이고 어떻게하면 이것이 실제로 문제가된다면 콜론이 추가 되었습니까?
그래서 포트 (시리얼 포트의 이름이 아닌 데이터를 보낼 포트)를 어떻게 설정할 수 있습니까? 레거시 응용 프로그램은 7727을 사용하기 때문에이를 수행 할 수있는 방법이 있어야하지만 SerialPort 클래스에는 속성이 없습니다. –
직렬 포트의 포트 번호와 같은 것은 없습니다. 직렬 포트는 단일 종단 간 연결 용이므로 포트 번호 개념이 없습니다. 그것은 TCP/UDP 연결을위한 것입니다. –