Ejemplo n.º 1
0
        public RtfSession(RtfSessionManager icmmanager, RtfSessionType _type, string session_name)
        {
            Debug.WriteLine(string.Format("RtfSession 생성 : 세션명={0}, 타입={1}", session_name, _type));

            this.session_name = session_name;

            RtfSockType socktype = (_type == RtfSessionType.push) ? RtfSockType.push : RtfSockType.tran;

            m_async_socket            = new RtfAsyncSocket(this, socktype, session_name + "의 소켓");
            m_async_socket.OnConnect += new SessionEventHandler(AsyncSocket_OnConnect);
            m_async_socket.OnClose   += new SessionEventHandler(AsyncSocket_OnClose);
            m_async_socket.OnSend    += new SessionEventHandler(AsyncSocket_OnSend);
            m_async_socket.OnReceive += new SessionEventHandler(AsyncSocket_OnReceive);

            //대기 상태로 전환시에 ICMManager에 통보
            this._id         = sid++;
            this.ReadyEvent += new ReadyEventHandler(icmmanager.OnSessionReady);
            this._type       = _type;

            //socket.OnData += new _ICommSocketEvents_OnDataEventHandler(Comcon_OnData);        //VC++ Socket Com
            //m_async_socket.OnData += new RtfAsyncSocket.RtfAsyncSocket_OnDataEventHandler(Comcon_OnData);//C# Socket
            //Data_Reciver.R_DataList = new ArrayList();
            //Data_Reciver.R_ColorList = new ArrayList();
            //Data_Reciver.R_LoopDataList = new ArrayList();
        }
Ejemplo n.º 2
0
        }                                                                                               // RtfGlobal.SessionManager 과 같이 사용가능

        private RtfGlobal()
        {
            //한번만 생성된다.
            Debug.WriteLine("< RtfGlobal 객체 생성 >", "RtfGlobal");

            //개별 관리자 생성
            _sessionmanager = new RtfSessionManager();
        }