Example #1
0
        void CreateSubTransport(Socket socket)
        {
            SocketTransport subTransport = new SocketTransport(this, pipeline, socket, receiveEventList);

            pipeline._subTransportPool.Add(subTransport);
            pipeline.invokeSubTransportConnect(subTransport);
        }
Example #2
0
 /// <summary>
 /// 创建子传输所用的构造函数
 /// </summary>
 /// <param name="pipeline"></param>
 /// <param name="socket"></param>
 /// <param name="receiveEventList"></param>
 /// <param name="parent"></param>
 internal SocketTransport(SocketTransport parent, Pipeline pipeline, Socket socket, Dictionary <int, receiveDelegate> receiveEventList)
 {
     this.parent   = parent;
     this.pipeline = pipeline;
     this.socket   = socket;
     string[] address = socket.RemoteEndPoint.ToString().Split(':');
     Ip                    = address[0];
     Port                  = int.Parse(address[1]);
     IsListen              = false;
     MultiSocket           = false;
     this.receiveEventList = receiveEventList;
     isSubTransport        = true;
     receiveThread         = new Thread(new ThreadStart(SocketReceive));
     receiveThread.Name    = "SUB_ON_SERVER";
     receiveThread.Start();
     IsConnected = true;
 }