void CreateSubTransport(Socket socket) { SocketTransport subTransport = new SocketTransport(this, pipeline, socket, receiveEventList); pipeline._subTransportPool.Add(subTransport); pipeline.invokeSubTransportConnect(subTransport); }
/// <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; }