/// <summary> /// 发送完成数据 /// </summary> /// <param name="id"></param> /// <param name="host"></param> /// <param name="port"></param> private void SendSucess(int id, string host, int port) { FINPackage package = new FINPackage() { PackID = id }; senderSession.SocketStream.Write(host, port, package.GetBuffer()); }
/// <summary> /// 从接收session接收数据 /// </summary> /// <param name="sender"></param> /// <param name="data"></param> /// <param name="host"></param> private void Stream_DataCall(object sender, byte[] data, HostAndPort host) { //创建类型 BasePackage package = new BasePackage(data); //所有接收信息都经过 switch (package.PackType) { case PackageControl.Data: package = new DATAPackage(data); break; case PackageControl.Ack: package = new ACKPackage(data); break; case PackageControl.Fin: package = new FINPackage(data); break; case PackageControl.Lost: package = new LostPackage(data); break; case PackageControl.ShutDown: package = new ShutDownPackage(data); break; case PackageControl.Syn: package = new SYNPackage(data); break; } package.DestHost = host.Host; package.DestPort = host.Port; AddPackage(host, package); }
/// <summary> /// 完成包 /// </summary> /// <param name="package"></param> internal void AddFin(FINPackage package) { Stop(); }