コード例 #1
0
        private void BtnSend_Click(object sender, EventArgs e)
        {
            string send = this.txtSend.Text;

            if (send.Length == 0)
            {
                return;
            }
            if (chkAddNewLine.Checked)
            {
                send += Environment.NewLine;
            }
            byte[] bytes  = Encoding.UTF8.GetBytes(send);
            IntPtr connId = client.ConnectionId;

            // 发送
            if (client.Send(bytes, bytes.Length))
            {
                string strMsg = string.Format("$ ({0}) Send OK --> {1}", connId, send);
                AddLog(strMsg);
                AddMsg(strMsg);
            }
            else
            {
                string strMsg = string.Format("$ ({0}) Send Fail --> {1} ({2})", connId, send, bytes.Length);
                AddLog(strMsg);
                AddMsg(strMsg);
            }
        }
コード例 #2
0
ファイル: frmClient.cs プロジェクト: zhxzhlx/HP-Socket
        private void btnSend_Click(object sender, EventArgs e)
        {
            try
            {
                string send = this.txtSend.Text;
                if (send.Length == 0)
                {
                    return;
                }

                byte[] bytes  = Encoding.Default.GetBytes(send);
                IntPtr connId = client.ConnectionId;

                // 发送
                if (client.Send(bytes, bytes.Length))
                {
                    AddMsg(string.Format("$ ({0}) Send OK --> {1}", connId, send));
                }
                else
                {
                    AddMsg(string.Format("$ ({0}) Send Fail --> {1} ({2})", connId, send, bytes.Length));
                }
            }
            catch (Exception ex)
            {
                AddMsg(string.Format("$ Send Fail -->  msg ({0})", ex.Message));
            }
        }
コード例 #3
0
 /// <summary>
 /// Send_Data
 /// </summary>
 /// <param name="order"></param>
 public void Send_Data(int order)
 {
     try
     {
         Rec_Ok            = false;            //清除接收完成标志
         Receive_Cordinate = new Vector(0, 0); //清除接收反馈坐标值
         string send = order.ToString();
         if (send.Length == 0)
         {
             return;
         }
         byte[] bytes  = Encoding.Default.GetBytes(send);
         IntPtr connId = client.ConnectionId;
         // 发送
         if (client.Send(bytes, bytes.Length))
         {
             isSend = true;
             //Log.Info("发送成功!!!");
         }
         else
         {
             isSend = false;
             Log.Error("发送失败!!!");
         }
     }
     catch (Exception ex)
     {
         Log.Error(ex.Message);
     }
 }
コード例 #4
0
 public void Send(byte[] data)
 {
     if (!m_bConnect)
     {
         return;
     }
     m_TcpClient.Send(data, data.Length);
 }
コード例 #5
0
        private void buttonSend_Click(object sender, EventArgs e)
        {
            string sendContent = textBoxSendMsg.Text;

            if (sendContent.Length < 1)
            {
                return;
            }

            try
            {
                //byte[] sendBytes = Encoding.Default.GetBytes(sendContent);
                byte[] sendBytes = Encoding.GetEncoding("UTF-8").GetBytes(sendContent);
                client.Send(sendBytes, sendBytes.Length);
                textBoxSendMsg.Text = string.Empty;
            }
            catch (Exception exc)
            {
                ShowMSG(string.Format("发送失败:{0}", exc.Message));
            }
        }
コード例 #6
0
 /// <summary>
 /// Send_Data
 /// </summary>
 /// <param name="order"></param>
 public void Send_Data(int order)
 {
     //检测是否连接
     if (!ConnectOk)
     {
         LogErr?.Invoke("相机未连接,Send命令取消!!!");
         return;
     }
     //发送数据
     try
     {
         Rec_Ok            = false;            //清除接收完成标志
         Receive_Cordinate = new Vector(0, 0); //清除接收反馈坐标值
         string send = order.ToString();
         if (send.Length == 0)
         {
             return;
         }
         byte[] bytes  = Encoding.Default.GetBytes(send);
         IntPtr connId = client.ConnectionId;
         // 发送
         if (client.Send(bytes, bytes.Length))
         {
             isSend = true;
         }
         else
         {
             isSend = false;
             LogErr?.Invoke("发送失败!!!");
         }
     }
     catch (Exception ex)
     {
         LogErr?.Invoke(ex.Message);
     }
 }
コード例 #7
0
ファイル: frmClient.cs プロジェクト: hack-cpp/HP-Socket
        private void btnStart_Click(object sender, EventArgs e)
        {
            try
            {
                string address = this.txtIpAddress.Text.Trim();
                ushort port = ushort.Parse(this.txtPort.Text.Trim());
                TestTimes = int.Parse(this.cbxTestTime.Text.Trim());
                TestInterv = int.Parse(this.cbxTestInterv.Text.Trim());
                ThreadCount = int.Parse(this.cbxThreadCount.Text.Trim());
                ThreadInterv = int.Parse(this.cbxThreadInterv.Text.Trim());
                DataLength = int.Parse(this.cbxDataLength.Text.Trim());
                if (CheckParams() == false)
                {
                    throw new Exception("params error!");
                }

                SetAppState(AppState.Starting);

                Timeconsuming = 0;
                TotalReceived = 0;
                TotalSent = 0;
                ExpectReceived = (Int64)TestTimes * (Int64)ThreadCount * (Int64)DataLength;

                clientList.Clear();

                // 创建指定线程个数的客户端
                for (int i = 0; i < ThreadCount; i++)
                {
                    TcpClient client = new TcpClient();
                    client.SetCallback(OnPrepareConnect, OnConnect, OnSend, OnReceive, OnClose, OnError);
                    if (client.Start(address, port) == true)
                    {
                        clientList.Add(client);
                    }
                    else
                    {
                        foreach (var c in clientList)
                        {
                            c.Stop();
                        }
                        clientList.Clear();
                        throw new Exception(string.Format(" > {2}, Connection to server fail ->({0},{1})", client.GetlastError(), client.GetLastErrorDesc(), i));
                    }
                }

                AddMsg(string.Format("$ Client start ok -> ({0}:{1})", address, port));

                // 延迟3秒
                int sendDelay = 3;
                AddMsg(string.Format(" *** willing to send data after {0} seconds ...", sendDelay));
                // Delay2(sendDelay * 1000);

                SetAppState(AppState.Started);

                testThread = new Thread(delegate()
                {
                    Thread.Sleep(sendDelay * 1000);
                    AddMsg(string.Format(" *** begin... ***", sendDelay));
                    // 发送的数据包
                    byte[] sendBytes = new byte[DataLength];

                    StopWatch.Restart();
                    bool isTerminated = false;
                    for (int i = 0; i < TestTimes; i++)
                    {
                        for (int j = 0; j < ThreadCount; j++)
                        {
                            TcpClient client = clientList[j];
                            if (client.Send(sendBytes, sendBytes.Length) == false)
                            {
                                AddMsg(string.Format("$ Client send fail [sock: {0}, seq: {1}] -> {3} ({2})",
                                                     i + 1,
                                                     j + 1,
                                                     client.SYSGetLastError(),
                                                     client.GetSocketErrorDesc(SocketError.DataSend)));
                                isTerminated = true;
                                break;
                            }

                            if (ThreadInterv > 0 && j + 1 < ThreadCount)
                            {
                                Thread.Sleep(ThreadInterv);
                                //Delay2(ThreadInterv);
                            }
                        }

                        if (isTerminated == true)
                        {
                            break;
                        }

                        if (TestInterv > 0 && i + 1 < TestTimes)
                        {
                            Thread.Sleep(TestInterv);
                            //Delay2(TestInterv);
                        }
                    }
                });
                testThread.Start();
            }
            catch (Exception ex)
            {
                SetAppState(AppState.Stoped);
                AddMsg(string.Format("$ Start fail msg:{0}", ex.Message));
            }
        }
コード例 #8
0
ファイル: frmClient.cs プロジェクト: zhangliangpas/fjx
        private void btnSend_Click(object sender, EventArgs e)
        {
            sendCount++;
            Gbytes = new byte[25];
            xiaocheCount++;
            if (xiaocheCount > 256)
            {
                xiaocheCount = 1;
            }

            quanshuCount++;
            if (quanshuCount > 3)
            {
                quanshuCount = 1;
            }

            gongbaotaiCount++;
            if (gongbaotaiCount > 9)
            {
                gongbaotaiCount = 1;
            }

            saomiaoyiCount++;
            if (saomiaoyiCount > 2)
            {
                saomiaoyiCount = 1;
            }

            billcodepart2++;
            if (billcodepart2 > 99999)
            {
                billcodepart2 = 1;
            }
            billcode = billcodepart1 + billcodepart2.ToString("00000");

            tip = "-" + "小车:" + xiaocheCount.ToString() + "-" + "圈数:" + quanshuCount.ToString() + "-" + "供包台:" + gongbaotaiCount.ToString() + "-" + "顶扫ID:" + saomiaoyiCount.ToString();



            try
            {
                Gbytes[0]  = 0x00;                                   //小车高位
                Gbytes[1]  = (byte)Convert.ToInt16(xiaocheCount);    //循环  小车低位
                Gbytes[2]  = (byte)Convert.ToInt16(quanshuCount);    //1-3  圈数
                Gbytes[3]  = (byte)Convert.ToInt16(gongbaotaiCount); //1-9  供包台
                Gbytes[4]  = (byte)Convert.ToInt16(saomiaoyiCount);  //扫描仪 1-2
                Gbytes[5]  = 0x00;                                   //重量
                Gbytes[6]  = 0x00;                                   //重量
                Gbytes[7]  = 0x00;                                   //重量
                Gbytes[8]  = 0x00;                                   //重量
                Gbytes[9]  = 0x00;                                   //重量
                Gbytes[10] = 0x7c;                                   //分隔符
                //11-24  单号
                byte[] bytes1 = Encoding.Default.GetBytes(billcode);
                for (int i = 0; i <= 13; i++)
                {
                    //Gbytes[11 + i] = (byte)Convert.ToInt16( bytes1[i].ToString("x"));
                    //Gbytes[11 + i] = (byte)Convert.ToInt16(Convert.ToString(bytes1[i], 16));
                    Gbytes[11 + i] = bytes1[i];
                }

                IntPtr connId = client.ConnectionId;
                Gbytes = CommonService.MakePLCMessage(Gbytes);
                // 发送
                if (client.Send(Gbytes, Gbytes.Length))
                {
                    AddMsg(string.Format("$ ({0}) 发送成功 --> {1}", connId, billcode + tip + "-" + DateTime.Now.ToShortTimeString()));

                    StringBuilder sb = new StringBuilder();
                    for (int i = 0; i < Gbytes.Length; i++)
                    {
                        sb.Append(" " + Gbytes[i].ToString("x").PadLeft(2, '0'));
                    }
                    AddMsg(sb.ToString());
                    int temp = Regex.Matches(sb.ToString(), @"0d 0a").Count;
                    lblSend.Text = sendCount.ToString();
                }
                else
                {
                    AddMsg(string.Format("$ ({0}) 发送失败 --> {1} ({2})", connId, billcode, Gbytes.Length));
                }
            }
            catch (Exception ex)
            {
                AddMsg(string.Format("$ 发送失败 -->  错误信息 ({0})", ex.Message));
            }
        }