public TcpClientSession(EndPoint remoteEndPoint, int bufferPoolSize, int bufferSize, ILoger loger) { this.loger = loger; this.remoteEndPoint = remoteEndPoint; SessionId = ObjectId.GenerateNewId().ToString();//生成唯一sesionId ReceiveEventArgs = new SocketAsyncEventArgs(); ReceiveEventArgs.RemoteEndPoint = remoteEndPoint; SendEventArgs = new SocketAsyncEventArgs(); SendEventArgs.RemoteEndPoint = remoteEndPoint; PacketProtocol = new TcpClientPacketProtocol(bufferSize, bufferPoolSize, loger); PacketProtocol.Session = this; SendEventArgs.Completed += PacketProtocol.SendComplate;//数据发送完成事件 receiveBuffer = new byte[bufferSize]; }
public Connect(ClientConfig config) : base(config.Server, config.BufferSize, config.Loger) { PacketProtocol = new TcpClientPacketProtocol(config.BufferSize, config.FixBufferPoolSize); idGenerator = new LoopId(); this.config = config; }