// accept public KChannel(uint conn, uint remoteConn, UdpClient socket, IPEndPoint remoteEndPoint, KService kService) : base(kService, ChannelType.Accept) { this.Id = conn; this.Conn = conn; this.RemoteConn = remoteConn; this.remoteEndPoint = remoteEndPoint; this.socket = socket; this.parser = new PacketParser(this.recvBuffer); kcp = new Kcp(this.RemoteConn, this.Output); kcp.SetMtu(512); kcp.NoDelay(1, 10, 2, 1); //fast this.isConnected = true; this.lastRecvTime = kService.TimeNow; }
/// <summary> /// connect /// </summary> public TChannel(TSocket socket, string host, int port, TService service) : base(service, ChannelType.Connect) { this.socket = socket; this.parser = new PacketParser(this.recvBuffer); this.RemoteAddress = host + ":" + port; bool result = this.socket.ConnectAsync(host, port); if (!result) { this.OnConnected(this.Id, SocketError.Success); return; } this.socket.OnConn += e => OnConnected(this.Id, e); }