public ServiceForEasySocket(int runInterval) { RunInterval = runInterval; EasyTcpClient.Instance.TimeOut = TimeSpan.FromSeconds(30); //连接时采用同步方式,等待服务端返回结果,会引起阻塞,(异步方式无法判断连接状态,不采用) EasyTcpClient.Instance.Async = false; //是否开启断线重连,(在网络异常的情况,将尝试重连), //客户端使用时不应开启,在使用OPC或通讯中间件时为了保证通讯正常,可开启 EasyTcpClient.Instance.ReconnectEnable = true; //采用序列化方式 EasyTcpClient.Instance.Serializer = new ProtoBufSerializer(); //委托绑定UI委托,在调用时可通过判断调用是否在同一线程内 //不在同一线程可使用控件的Invoke方法调用MsgHandle MsgHandle = msg; EasyTcpClient.Instance.MsgHandle = msgHandle; //顷绑定当前程序集 EasyTcpClient.Instance.BindService(Assembly.GetExecutingAssembly()); //不在同一线程可使用控件的Invoke方法调用CloseHandle if (EasyTcpClient.Instance.Connect("127.0.0.1", 5555)) { //执行注册效验 var result = ClientProxy.Verification("opc"); } else { //MessageBox.Show("服务器无法连接"); } }
/// <summary> /// 连接EasySocket服务器 /// </summary> public override void Connect() { //不在同一线程可使用控件的Invoke方法调用CloseHandle if (EasyTcpClient.Instance.Connect("172.16.6.30", 5555)) //if (EasyTcpClient.Instance.Connect("172.22.197.45", 5555)) { //执行注册效验 var result = ClientProxy.Verification("opc"); MsgHandle(serviceName + $">EasySocket>{EasyTcpClient.Instance.Ip}已连接"); } else { MsgHandle(serviceName + ">服务器无法连接"); } }
public ServiceForEasySocket(IOpcClient opcClient) : base(3600000) { this.opcClient = opcClient; EasyTcpClient.Instance.Extra.Tag.Set("opc", opcClient); EasyTcpClient.Instance.TimeOut = TimeSpan.FromSeconds(30); //连接时采用同步方式,等待服务端返回结果,会引起阻塞,(异步方式无法判断连接状态,不采用) EasyTcpClient.Instance.Async = false; //是否开启断线重连,(在网络异常的情况,将尝试重连), //客户端使用时不应开启,在使用OPC或通讯中间件时为了保证通讯正常,可开启 EasyTcpClient.Instance.ReconnectEnable = true; //采用序列化方式 EasyTcpClient.Instance.Serializer = new ProtoBufSerializer(); //委托绑定UI委托,在调用时可通过判断调用是否在同一线程内 //不在同一线程可使用控件的Invoke方法调用MsgHandle EasyTcpClient.Instance.MsgHandle = Msg; //重连后执行注册效验 EasyTcpClient.Instance.ReconnectCompleteHandle = () => { ClientProxy.Verification("opc"); }; //顷绑定当前程序集 EasyTcpClient.Instance.BindService(Assembly.GetExecutingAssembly()); PFClientInit(); }