private void dgvServer_CellContentClick(object sender, DataGridViewCellEventArgs e) { try { if (e.RowIndex >= 0) { //当前网络客户端 Config.SocketSItem sck = (Config.SocketSItem) this.dgvServer.CurrentRow.DataBoundItem; switch (dgvServer.Columns[e.ColumnIndex].Name) { case "btnDeleteS": //删除 if (MessageBox.Show("是否删除该项设备? ", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } Config.ConfigManager.Instance.ConfigSocketS.SocketSItems.Remove(sck); break; case "btnSendServer": //发送 Config.SocketSItem item = (Config.SocketSItem) this.dgvServer.CurrentRow.DataBoundItem; Logic.SocketSHandle.Instance.SocketSend(item.SocketDevice, item.BuffSend); break; default: break; } } } catch { } }
/// <summary> /// socket服务端回调,虚函数,机台重写业务 /// </summary> /// <param name="device"></param> /// <param name="socket"></param> /// <param name="dataB"></param> /// <param name="dataS"></param> public virtual void SocketSReceive(Config.SocketSItem device, System.Net.Sockets.Socket socket, byte[] dataB, string dataS) { //业务 LogHandle.Instance.WriteRunLog(device.MachineID, device.SocketDevice.ToString(), "收到:{0},Server", dataS); //若抛出ABB业务 if (device.SocketDevice.ToString().Contains("ABB")) { } }
/// <summary> /// 服务端接收 /// </summary> /// <param name="device"></param> /// <param name="socket"></param> /// <param name="dataB"></param> /// <param name="dataS"></param> public override void SocketSReceive(Config.SocketSItem device, System.Net.Sockets.Socket socket, byte[] dataB, string dataS) { base.SocketSReceive(device, socket, dataB, dataS); try { } catch (Exception ex) { Log.LogWriter.WriteException(ex); } }
void socket_OnSocketItemChange(object device, BindingList <Bp.Socket.Server.SocketItem> Sockets) { try { Config.SocketSItem si = (Config.SocketSItem)device; si.SocketClients = new BindingList <Bp.Socket.Server.SocketItem>(); foreach (Bp.Socket.Server.SocketItem it in Sockets) { si.SocketClients.Add(it); } } catch { } }
/// <summary> /// 数据接收 /// </summary> /// <param name="device">服务端</param> /// <param name="socket">Socket</param> /// <param name="dataB"></param> /// <param name="dataS"></param> public void socket_OnSocketReceive(Config.SocketSItem device, System.Net.Sockets.Socket socket, byte[] dataB, string dataS) { Log.LogWriter.WriteSocketLog(string.Format("{0},{1},{2}", device.ToString(), socket.RemoteEndPoint.ToString(), dataS)); device.BuffReceive = dataS; device.Value = dataS; device.Reset.Set(); switch (device.SocketDevice) { default: //business business = SystemHandle.Instance.GetMachineKylin(device.MachineID); //if (business != null) //{ // business.SocketSReceive(device, socket, dataB, dataS); //} break; } }
/// <summary> /// 发送 /// </summary> /// <param name="device">设备配置</param> /// <param name="data">string</param> public string SocketSSendReturn(Common.SocketDevice device, string data) { lock (this.lock_send_sockets_string) { Config.SocketSItem socket = SocketSHandle.Instance.GetConfig(device); //暂存包编号 socket.Value = ""; socket.Reset.Reset(); SocketSHandle.Instance.SocketSend(device, data); if (socket.OutTime < 500) { socket.Reset.WaitOne(500); } else { socket.Reset.WaitOne(socket.OutTime); } return(socket.Value.ToString()); } }
private void dgvServer_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { try { if (this.dgvServer.Columns[e.ColumnIndex].Name.Equals("isConnectedS")) { //int i = e.ColumnIndex; Config.SocketSItem sck = (Config.SocketSItem) this.dgvServer.Rows[e.RowIndex].DataBoundItem; if (sck == null) { e.Value = this.imageList1.Images[3]; } else { e.Value = (sck.IsConnected == true) ? this.imageList1.Images[1] : this.imageList1.Images[2]; } } } catch { } }