Esempio n. 1
0
        /// <summary>
        /// 세션을 초기화 한다
        /// 세션은 재활용될 수 있으므로 재활용을 고려하여야 한다
        /// </summary>
        /// <param name="info">초기화시 정보</param>
        public void Init(SessionInitializeInfo info)
        {
            _receivedPacketQueue = new BufferBlock <NetPacket>();
            _cts = new CancellationTokenSource();

            int  low  = Guid.NewGuid().GetHashCode();
            long high = (long)Guid.NewGuid().GetHashCode() << 32;

            _connectId = (long)low | high;

            State = SessionState.Initialized;

            if (_tcpChannel != null)
            {
                _tcpChannel.Init(_cts);
                _tcpChannel.SetSocket(info.AcceptedTcpSocket);
            }

            if (_udpChannel != null)
            {
                _udpChannel.Init(_cts);
                _udpChannel.SetSocket(info.UdpServiceSocket);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// 사용되지 않음
 /// </summary>
 /// <param name="info"></param>
 public void Init(SessionInitializeInfo info)
 {
     throw new NotImplementedException();
 }
Esempio n. 3
0
 public void Init(SessionInitializeInfo info)
 {
 }