Ejemplo n.º 1
0
        /// <summary>
        /// 向对方发送数据
        /// </summary>
        /// <param name="byteData">数据内容</param>
        /// <param name="clientID">连接标识</param>
        public void SendData(byte[] byteData, int clientID)
        {
            if (byteData.Length == 0)
            {
                return;
            }

            if (_tcpMode == TcpMode.Client)
            {
                if (!Connected)
                {
                    onError(_localTcpStruct, _remoteTcpStruct, TcpError.TcpClientNotConnected, null, TcpOptionType.SendData, null); return;
                }
                byte[] bytePackect = _protocol.MakeByteData(byteData);
                _ns.Write(bytePackect, 0, bytePackect.Length);
            }
            else if (_tcpMode == TcpMode.Server)
            {
                __listen__readSmtcp pclinet = GetListenClient(clientID);
                if (pclinet != null)
                {
                    pclinet.SendData(byteData);
                }
                else
                {
                    onError(_localTcpStruct, _remoteTcpStruct, TcpError.TcpClientNotConnected, null, TcpOptionType.SendData, pclinet);
                }
            }
            else
            {
                onError(_localTcpStruct, _remoteTcpStruct, TcpError.UnknownModeOrNotConnected, null, TcpOptionType.SendData, null);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 关闭从监听创建的连接
        /// </summary>
        /// <param name="clientID"></param>
        public void CloseConnect(int clientID)
        {
            __listen__readSmtcp reader = GetListenClient(clientID);

            try { if (reader != null)
                  {
                      reader.CloseConnect();
                  }
            }
            catch { }
        }
Ejemplo n.º 3
0
 private void ReadDataFromListen()
 {
     _listenWork = true;
     while (_listenWork)
     {
         try
         {
             TcpClient           _tc    = _tl.AcceptTcpClient();
             __listen__readSmtcp reader = new __listen__readSmtcp(this, ref _tc, _protocol);
             lock (_tcp_Reader_Array)
                 _tcp_Reader_Array.Add(reader);
             Threads.ExecAsync(reader.Start);
         }
         catch { }
     }
 }
Ejemplo n.º 4
0
 private void ReadDataFromListen()
 {
     _listenWork = true;
     while (_listenWork)
     {
         try
         {
             TcpClient _tc = _tl.AcceptTcpClient();
             __listen__readSmtcp reader = new __listen__readSmtcp(this, ref _tc, _protocol);
             lock (_tcp_Reader_Array)
                 _tcp_Reader_Array.Add(reader);
             Threads.ExecAsync(reader.Start);
         }
         catch { }
     }
 }