Example #1
0
        /// <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());
        }
Example #2
0
        /// <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);
        }
Example #3
0
 /// <summary>
 /// 完成包
 /// </summary>
 /// <param name="package"></param>
 internal void AddFin(FINPackage package)
 {
     Stop();
 }