コード例 #1
0
ファイル: Form1.cs プロジェクト: syuru04/csharp
        private void Wait_Socket()
        {
            Socket sktClient = null;

            while (true)
            {
                //Socket 생성 및 연결 대기
                try
                {
                    //Client 연결을 기다린다.
                    sktClient = lit_Listener.AcceptSocket();
                    //Chatting을 실행하는 Class 인스턴스화시키고 Socket 할당
                    Chat_Class cht_Class = new Chat_Class();
                    cht_Class.Chat_Class_Setup(this, sktClient, this.txt_Chat);
                    //Chatting을 실행하는Thread 생성
                    Thread thd_ChatProcess = new Thread(new
                                                        ThreadStart(cht_Class.Chat_Process));
                    thd_ChatProcess.Start();
                }
                catch (System.Exception)
                {
                    Form1.soketArray.Remove(sktClient); break;
                }
            }
        }
コード例 #2
0
        // 클라이언트 소켓을 관리하기 위한 클래스 선언
        private void Wait_Socket()
        {
            // 소켓 선언
            Socket sktClient = null;

            while (true)
            {
                try
                {
                    // 인스턴스화 된 tcpListener의 AcceptSocket 메서드를 이용해 해당 클라이언트의 소켓에 할당
                    sktClient = lit_Listener.AcceptSocket();

                    // 채팅 기능을 구현한 클래스 Chat_Class를 인스턴스화
                    Chat_Class cht_Class = new Chat_Class();

                    // 인스턴스화 된 Chat_Class 클래스에서 채팅 기능 초기화를 구현한 메서드 Chat_Class_Setup을 호출
                    cht_Class.Chat_Class_Setup(this, sktClient, this.txt_Chat);

                    // 인스턴스화 된 Chat_Class 클래스의 Chat_Process를 파라메터로 받아 ThreadStart 인스턴스화
                    ThreadStart ts = new ThreadStart(cht_Class.Chat_Process);

                    // Thread 인스턴스화
                    Thread thd_ChatProcess = new Thread(ts);

                    // 인스턴스화 된 Thread 기동
                    thd_ChatProcess.Start();
                }
                catch (System.Exception)
                {
                    // 예외가 발생할 경우 소켓을 보관하는 배열 socketArray에서 해당 클라이언트의 소켓을 삭제하고 반복문 종료
                    Form1.socketArray.Remove(sktClient); break;
                }
            }
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: seonhui613/csharp
        private void Wait_Socket()
        {
            Socket sktClient = null;

            while (true)
            {
                try
                {
                    sktClient = lit_Listener.AcceptSocket();
                    Chat_Class cht_Class = new Chat_Class();
                    cht_Class.Chat_Class_Setup(this, sktClient, this.text_Chat);
                    Thread thd_ChatProcess = new Thread(new ThreadStart(cht_Class.Chat_Process));
                    thd_ChatProcess.Start();
                }
                catch (System.Exception)
                {
                    Form1.soketArray.Remove(sktClient); break;
                }
            }
        }