예제 #1
0
 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
 }
예제 #2
0
 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);
         }
     }
 }