本文整理匯總了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;
}