public void ReloadClient() { try { if (this.client != null) { using (var obj = this.client) obj.Disconnect(); } } catch (Exception) { /*斷線例外不處理?*/ } this.client = new CtkTcpClient(); this.client.LocalUri = this.LocalUri; this.client.RemoteUri = this.RemoteUri; this.client.EhFirstConnect += (sender, e) => { var ea = e as CtkNonStopTcpStateEventArgs; //this.ActiveWorkClient = ea.workClient; this.OnFirstConnect(e); }; this.client.EhFailConnect += (sender, e) => this.OnFailConnect(e); this.client.EhDisconnect += (sender, e) => this.OnDisconnect(e); this.client.EhDataReceive += (sender, e) => this.OnDataReceive(e); this.client.EhErrorReceive += (sender, e) => this.OnErrorReceive(e); this.client.IntervalTimeOfConnectCheck = this.IntervalTimeOfConnectCheck; }
public void TestMethod() { var nonStopTcpClient = new CtkTcpClient("127.0.0.1", 502); nonStopTcpClient.EhDataReceive += (ss, ee) => { var ea = ee as CtkNonStopTcpStateEventArgs; var ctkBuffer = ea.TrxMessageBuffer; System.Diagnostics.Debug.WriteLine(ctkBuffer.Length); }; nonStopTcpClient.NonStopRunAsyn(); System.Threading.Thread.Sleep(1000); var msg = new CToolkit.v1_1.Modbus.CtkModbusMessage(); msg.funcCode = CToolkit.v1_1.Modbus.CtkModbusMessage.fctReadHoldingRegister; msg.unitId = 1; msg.readLength = 32; var buffer = msg.ToRequestBytes(); nonStopTcpClient.WriteMsg(buffer); while (true) { System.Threading.Thread.Sleep(1000); } }
public void RunAsyn() { client = new CtkTcpClient("127.0.0.1", 10002); client.EhFirstConnect += (ss, ee) => { CtkLog.InfoNs(this, "evtFirstConnect"); }; client.EhFailConnect += (ss, ee) => { CtkLog.InfoNs(this, "evtFailConnect"); }; client.EhErrorReceive += (ss, ee) => { CtkLog.InfoNs(this, "evtErrorReceive"); }; client.EhDataReceive += (ss, ee) => { CtkLog.InfoNs(this, "evtDataReceive"); }; client.NonStopRunStart(); }
public void Disconnect() { if (this.client != null) { this.client.Disconnect(); this.client.Dispose(); this.client = null; } if (this.listener != null) { this.listener.Disconnect(); this.listener.Dispose(); this.listener = null; } if (this.mreHasMsg != null) { this.mreHasMsg.Dispose(); } }
public void RunAsyn() { client = new CtkTcpClient("127.0.0.1", 5003); client.EhFirstConnect += (ss, ee) => { Write("evtFirstConnect"); }; client.EhFailConnect += (ss, ee) => { var sb = new StringBuilder(); sb.Append("evtFailConnect: "); sb.Append(ee.Exception.StackTrace); Write(sb.ToString()); }; client.EhErrorReceive += (ss, ee) => { Write("evtErrorReceive"); }; client.EhDataReceive += (ss, ee) => { var ea = ee as CtkNonStopTcpStateEventArgs; var ctkBuffer = ea.TrxMessageBuffer; this.Write(ctkBuffer.GetString()); }; client.NonStopRunAsyn(); }