private void button1_Click(object sender, EventArgs e) { string serialPortName = this.cmbPortName.Text; if (serialPortName == string.Empty) { return; } string baut = this.cmbBaut.Text; string patternInt = @"[0-9]{1,5}"; if (baut.Length <= 0 || !Regex.IsMatch(baut, patternInt)) { //MessageBox.Show("请填写一个符合要求的地址!"); return; } string localPort = this.txtLocalPort.Text; if (localPort.Length <= 0 || !Regex.IsMatch(localPort, patternInt)) { return; } string remoteIP = this.txtRemoteIP.Text; string patternIp = @"\b(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5])\b"; if (remoteIP.Length <= 0 || !Regex.IsMatch(remoteIP, patternIp)) { return; } string remotePort = this.txtRemotePort.Text; if (remotePort.Length <= 0 || !Regex.IsMatch(remotePort, patternInt)) { return; } //Protocol2UDP p2u = Protocol2UDP.getProtocol2UDP(new SerialPort2UDP(serialPortName, 9600), remoteIP, int.Parse(remotePort), int.Parse(localPort)); Protocol2UDP p2u = Protocol2UDP.getProtocol2UDP(new SerialPort2UDP(serialPortName, int.Parse(baut)), remoteIP, int.Parse(remotePort), int.Parse(localPort)); if (p2u != null) { p2u.logForm = this; p2u.startRun(); } this.button1.Enabled = false; this.button1.Text = "运行中"; }
public static Protocol2UDP getProtocol2UDP(IProtocol iFrom, string remoteIP, int remoteUdpPort, int localUdpPort) { try { IPAddress ipaddress = IPAddress.Parse(remoteIP); Protocol2UDP p2u = new Protocol2UDP(iFrom, ipaddress, remoteUdpPort, localUdpPort); return(p2u); } catch (System.Exception ex) { Debug.WriteLine("getProtocol2UDP => " + ex.Message); return(null); } }
public Form1() { InitializeComponent(); string[] ports = SerialPort.GetPortNames(); Array.Sort(ports); cmbPortName.Items.AddRange(ports); if (cmbPortName.Items.Count > 0) { cmbPortName.SelectedIndex = 0; } this.cmbBaut.Items.AddRange(new object[] { "9600", "19200", "115200" }); this.cmbBaut.SelectedIndex = 1; this.txtRemoteIP.Text = Protocol2UDP.GetLocalIP4(); this.txtRemotePort.Text = "19201"; this.txtLocalPort.Text = "19200"; }