Socket 의 감청 세 가지 방식

1943 단어 socket
일단 도청 을 켜 야 돼 요.
            Listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);

            IPEndPoint hostEntry = new IPEndPoint(getLocalmachineIPAddress(), ServerPort);

            Listener.Bind(hostEntry);

            Listener.Listen(ConnectionsQueueLength);


  
1. AcceptAsync 비동기 방식
            socketEventArg = new SocketAsyncEventArgs();

            socketEventArg.Completed += new EventHandler<SocketAsyncEventArgs>(SocketEventArg_Completed);

            socketEventArg.RemoteEndPoint = hostEntry;

            socketEventArg.UserToken = Listener;

            Listener.AcceptAsync(socketEventArg);


  
        void SocketEventArg_Completed(object sender, SocketAsyncEventArgs e)

        {

            if (e.LastOperation == SocketAsyncOperation.Accept)

            {

                Socket acceptSocket = e.AcceptSocket;



                if (acceptSocket != null)

                {

                     //     

                }

            }



            e.AcceptSocket = null;

            Listener.AcceptAsync(e);



        }


  
 
2. 수락 방식 
            while (true)

            {

                Socket acceptSocket = Listener.Accept();



                if (acceptSocket != null)

                {

                    //     
                }

            }


  
 3. BeginAccept 방식
            while (true)

            {

                Listener.BeginAccept(new AsyncCallback(AcceptCallBack), Listener);

            }

 
        private void AcceptCallBack(IAsyncResult result)

        {

            Socket acceptSocket = (Socket)result.AsyncState;

            //     

        }


  
 
 
 

좋은 웹페이지 즐겨찾기