Esempio n. 1
0
 /// <summary>
 /// 向对方发送数据
 /// </summary>
 /// <param name="byteData">数据内容</param>
 /// <param name="clientID">连接标识</param>
 public void SendData(SmmpPacket packet, int clientID)
 {
     if (_tcpMode == TcpMode.Client)
     {
         if (!Connected)
         {
             onError(_localTcpStruct, _remoteTcpStruct, TcpError.TcpClientNotConnected, null, TcpOptionType.SendData, null); return;
         }
         byte[] bytePackect = packet.StartMakeup();
         _ns.Write(bytePackect, 0, bytePackect.Length);
     }
     else if (_tcpMode == TcpMode.Server)
     {
         __listen__readSmmp pclinet = GetListenClient(clientID);
         if (pclinet != null)
         {
             pclinet.SendData(packet);
         }
         else
         {
             onError(_localTcpStruct, _remoteTcpStruct, TcpError.TcpClientNotConnected, null, TcpOptionType.SendData, pclinet);
         }
     }
     else
     {
         onError(_localTcpStruct, _remoteTcpStruct, TcpError.UnknownModeOrNotConnected, null, TcpOptionType.SendData, null);
     }
 }
Esempio n. 2
0
        /// <summary>
        /// 关闭从监听创建的连接
        /// </summary>
        /// <param name="clientID"></param>
        public void CloseConnect(int clientID)
        {
            __listen__readSmmp reader = GetListenClient(clientID);

            try { if (reader != null)
                  {
                      reader.CloseConnect();
                  }
            }
            catch { }
        }
Esempio n. 3
0
 private void ReadDataFromListen()
 {
     _listenWork = true;
     while (_listenWork)
     {
         try
         {
             TcpClient          _tc    = _tl.AcceptTcpClient();
             __listen__readSmmp reader = new __listen__readSmmp(this, ref _tc);
             lock (_tcp_Reader_Array)
                 _tcp_Reader_Array.Add(reader);
             Threads.ExecAsync(reader.Start);
         }
         catch { }
     }
 }
Esempio n. 4
0
 private void ReadDataFromListen()
 {
     _listenWork = true;
     while (_listenWork)
     {
         try
         {
             TcpClient _tc = _tl.AcceptTcpClient();
             __listen__readSmmp reader = new __listen__readSmmp(this, ref _tc);
             lock (_tcp_Reader_Array)
                 _tcp_Reader_Array.Add(reader);
             Threads.ExecAsync(reader.Start);
         }
         catch { }
     }
 }
Esempio n. 5
0
 internal void onTcpEvents(TcpStruct localTcpInfo, TcpStruct remoteTcpInfo, TcpOptionType type, __listen__readSmmp tcpReader)
 {
     switch (type)
     {
         case TcpOptionType.StartListen:
             _listenning = true;
             break;
         case TcpOptionType.StopListen:
             _listenning = false;
             _listenWork = false;
             break;
         case TcpOptionType.ClientConnected:
             break;
         case TcpOptionType.Connected:
             break;
         case TcpOptionType.Disconnected:
             if (_tcpMode == TcpMode.Client)
                 _tcpMode = TcpMode.Unknown;
             break;
         case TcpOptionType.Connecting:
             Thread.Sleep(0);
             break;
         default:
             break;
     }
     if (OnTcpEvents != null) OnTcpEvents(localTcpInfo, remoteTcpInfo, type, tcpReader);
 }
Esempio n. 6
0
 internal void onReceivedData(TcpStruct localTcpInfo, TcpStruct remoteTcpInfo, SmmpPacket packet, __listen__readSmmp tcpReader)
 {
     if (OnReceivedData != null) OnReceivedData(localTcpInfo, remoteTcpInfo, packet, tcpReader);
 }
Esempio n. 7
0
 internal void onError(TcpStruct localTcpInfo, TcpStruct remoteTcpInfo, TcpError error, Exception ex, TcpOptionType type, __listen__readSmmp tcpReader)
 {
     if (OnError != null) OnError(localTcpInfo, remoteTcpInfo, error, ex, type, tcpReader);
 }
Esempio n. 8
0
 internal void onConnectionEvent(TcpStruct localTcpInfo, TcpStruct remoteTcpInfo, __listen__readSmmp tcpClient, int clientID)
 {
     if (OnConnectionEvent != null) OnConnectionEvent(localTcpInfo, remoteTcpInfo, tcpClient, clientID);
 }
Esempio n. 9
0
 internal void onReceivedData(TcpStruct localTcpInfo, TcpStruct remoteTcpInfo, SmmpPacket packet, __listen__readSmmp tcpReader)
 {
     if (OnReceivedData != null)
     {
         OnReceivedData(localTcpInfo, remoteTcpInfo, packet, tcpReader);
     }
 }
Esempio n. 10
0
 internal void onConnectionEvent(TcpStruct localTcpInfo, TcpStruct remoteTcpInfo, __listen__readSmmp tcpClient, int clientID)
 {
     if (OnConnectionEvent != null)
     {
         OnConnectionEvent(localTcpInfo, remoteTcpInfo, tcpClient, clientID);
     }
 }
Esempio n. 11
0
        internal void onTcpEvents(TcpStruct localTcpInfo, TcpStruct remoteTcpInfo, TcpOptionType type, __listen__readSmmp tcpReader)
        {
            switch (type)
            {
            case TcpOptionType.StartListen:
                _listenning = true;
                break;

            case TcpOptionType.StopListen:
                _listenning = false;
                _listenWork = false;
                break;

            case TcpOptionType.ClientConnected:
                break;

            case TcpOptionType.Connected:
                break;

            case TcpOptionType.Disconnected:
                if (_tcpMode == TcpMode.Client)
                {
                    _tcpMode = TcpMode.Unknown;
                }
                break;

            case TcpOptionType.Connecting:
                Thread.Sleep(0);
                break;

            default:
                break;
            }
            if (OnTcpEvents != null)
            {
                OnTcpEvents(localTcpInfo, remoteTcpInfo, type, tcpReader);
            }
        }
Esempio n. 12
0
 internal void onError(TcpStruct localTcpInfo, TcpStruct remoteTcpInfo, TcpError error, Exception ex, TcpOptionType type, __listen__readSmmp tcpReader)
 {
     if (OnError != null)
     {
         OnError(localTcpInfo, remoteTcpInfo, error, ex, type, tcpReader);
     }
 }