本文整理汇总了C#中System.IO.Ports.SerialPort.GetListener方法的典型用法代码示例。如果您正苦于以下问题:C# SerialPort.GetListener方法的具体用法?C# SerialPort.GetListener怎么用?C# SerialPort.GetListener使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.IO.Ports.SerialPort
的用法示例。
在下文中一共展示了SerialPort.GetListener方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BtnConnectClick
private void BtnConnectClick(object sender, EventArgs e)
{
try
{
switch (CommunicationMode)
{
case CommunicationMode.RTU:
_uart = new SerialPort(PortName, Baud, Parity, DataBits, StopBits);
_uart.Open();
var rtuServer = new ModbusServer(new ModbusRtuCodec()) { Address = SlaveId };
rtuServer.OutgoingData += DriverOutgoingData;
rtuServer.IncommingData += DriverIncommingData;
_listener = _uart.GetListener(rtuServer);
_listener.ServeCommand += listener_ServeCommand;
_listener.Start();
AppendLog(String.Format("Connected using RTU to {0}", PortName));
break;
case CommunicationMode.UDP:
_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
_socket.Bind(new IPEndPoint(IPAddress.Any, TCPPort));
//create a server driver
var udpServer = new ModbusServer(new ModbusTcpCodec()) { Address = SlaveId };
udpServer.OutgoingData += DriverOutgoingData;
udpServer.IncommingData += DriverIncommingData;
//listen for an incoming request
_listener = _socket.GetUdpListener(udpServer);
_listener.ServeCommand += listener_ServeCommand;
_listener.Start();
AppendLog(String.Format("Listening to UDP port {0}", TCPPort));
break;
case CommunicationMode.TCP:
_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
_socket.Bind(new IPEndPoint(IPAddress.Any, TCPPort));
_socket.Listen(10);
//create a server driver
_thread = new Thread(Worker);
_thread.Start();
AppendLog(String.Format("Listening to TCP port {0}", TCPPort));
// simulate classic
broadcasrter = new UDPBroadcaster();
broadcasrter.SendDatagrams(TCPPort);
break;
}
}
catch (Exception ex)
{
AppendLog(ex.Message);
return;
}
btnConnect.Enabled = false;
buttonDisconnect.Enabled = true;
grpExchange.Enabled = true;
groupBoxFunctions.Enabled = false;
groupBoxTCP.Enabled = false;
groupBoxRTU.Enabled = false;
groupBoxMode.Enabled = false;
}