Пример #1
0
        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));
            }
        }
Пример #2
0
        public void Send(Package pkg)
        {
            if (Status == ClientStatus.Stopped)
            {
                return;
            }

            if (pkg != null)
            {
                lock (sendLock)
                {
                    System.IO.MemoryStream           msWBuffer = new System.IO.MemoryStream();
                    Thrift.Transport.TTransport      tp        = new Thrift.Transport.TStreamTransport(null, msWBuffer);
                    Thrift.Protocol.TCompactProtocol cp        = new Thrift.Protocol.TCompactProtocol(tp);
                    switch (pkg.PackType)
                    {
                    case PackType.Command:
                    {
                        cp.WriteI16(PackType.Command);
                        cp.WriteString((string)pkg.Content);
                    }
                    break;

                    case PackType.ResultModel:
                    {
                        cp.WriteI16(PackType.ResultModel);
                        ResultModel rm = (ResultModel)pkg.Content;
                        rm.Write(cp);
                    }
                    break;

                    case PackType.RequestTask:
                    {
                        cp.WriteI16(PackType.RequestTask);
                        RequestTask rm = (RequestTask)pkg.Content;
                        rm.Write(cp);
                    }
                    break;

                    default:
                        break;
                    }

                    tp.Flush();
                    byte[] buffer = msWBuffer.ToArray();
                    client.Send(buffer, buffer.Length);
                    msWBuffer.Flush();
                }
            }
        }
Пример #3
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));
            }
        }