private void button1_Click(object sender, EventArgs e) { if (!SocketConnectionClient.SocketClient.Connected || txtMsg.TextLength == 0) { return; } #region 发送二进制消息 if (!chxSendMsg.Checked) { var hexReg = new Regex("(\\d|[A-F])+"); var match = hexReg.Matches(txtMsg.Text); if (match.Count > 0) { var bytes = new byte[match.Count]; for (int i = 0; i < match.Count; i++) { bytes[i] = Convert.ToByte(match[i].Value, 16); } txtMsg.BackColor = Color.White; SocketConnectionClient.SocketClientConnection.Send(bytes); } else { txtMsg.BackColor = Color.Red; } } else { var message = new Hellomessage() { Identity = SocketConnectionClient.SocketClientConnection.Identity, Cmdcode = "0002", Timetoken = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), Msg = txtMsg.Text }; lstMsg.Items.Add($"发送消息[{txtMsg.Text}]"); SocketConnectionClient.SocketClientConnection.Send(message.ToByteArray()); } #endregion }
private void button1_Click(object sender, EventArgs e) { if (txtMsg.TextLength == 0) { return; } #region 发送字节消息 var bytes = new byte[0]; if (!chxIsMsg.Checked) { var hexReg = new Regex("(\\d|[A-F])+"); var match = hexReg.Matches(txtMsg.Text); bytes = new byte[match.Count]; if (match.Count > 0) { for (int i = 0; i < match.Count; i++) { bytes[i] = Convert.ToByte(match[i].Value, 16); } txtMsg.BackColor = Color.White; } else { txtMsg.BackColor = Color.Red; } } #endregion List <string> selectList = new List <string>(); foreach (var selectedItem in lstClient.SelectedItems) { selectList.Add(selectedItem.ToString()); } foreach (var select in selectList) { SocketConnection socketcon; if (SocketConnectionServerDispatcher.DicSockectConnection.TryGetValue(select, out socketcon) && socketcon.ConnectSocket.Connected) { if (!chxIsMsg.Checked) { if (bytes.Length > 0) { socketcon.Send(bytes); } } else { var message = new Hellomessage { Identity = socketcon.Identity, Cmdcode = "0001", Timetoken = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), Serverid = SocketConnectionServerDispatcher.ServerId, Msg = txtMsg.Text }; lstMsg.Items.Add($"向[{socketcon.Identity}]发送消息[{txtMsg.Text}]"); socketcon.Send(message.ToByteArray()); } } else { lstClient.Items.Remove(select); SocketConnectionServerDispatcher.DicSockectConnection.TryRemove(select, out socketcon); } } }