/// <summary>
        /// 发送数据报文
        /// </summary>
        /// <param name="datagram"></param>
        public virtual void Send(string datagram)
        {
            if (datagram.Length == 0)
            {
                return;
            }

            if (!_isConnected)
            {
                // throw (new ApplicationException("没有连接服务器,不能发送数据"));
                return;
            }

            //获得报文的编码字节
            byte[] data = _coder.GetEncodingBytes(datagram);
            try
            {
                _session.ClientSocket.BeginSend(data, 0, data.Length, SocketFlags.None,
                                                new AsyncCallback(SendDataEnd), _session.ClientSocket);
            }
            catch
            {
                if (DisConnectedServer != null)
                {
                    if (_session != null)
                    {
                        DisConnectedServer(this, new NetEventArgs(_session));
                    }
                }
            }
        }
        /// <summary>
        /// 发送数据
        /// </summary>
        /// <param name="recvDataClient">接收数据的客户端会话</param>
        /// <param name="datagram">数据报文</param>
        public virtual void Send(Session recvDataClient, string datagram)
        {
            //获得数据编码
            byte[] data = _coder.GetEncodingBytes(datagram);

            try
            {
                recvDataClient.ClientSocket.BeginSend(data, 0, data.Length, SocketFlags.None,
                                                      new AsyncCallback(SendDataEnd), recvDataClient.ClientSocket);
            }
            catch
            {
                CloseClient(recvDataClient.ClientSocket, Session.ExitType.ExceptionExit);
            }
        }
Example #3
0
 public bool Send(string cmd)
 {
     base.SendTo(coder.GetEncodingBytes(cmd));
     return(true);
 }