コード例 #1
0
ファイル: ClubcChatSock.cs プロジェクト: radtek/ClubcServer
 /// <summary>
 /// 생성자입니다.
 /// </summary>
 /// <exception cref="IOException">소켓 생성 및 통신 에러입니다.</exception>
 /// <param name="onclose">OnClose 이벤트가 발생할때 호출될 델리게이트입니다.</param>
 /// <param name="onconnect">OnConnect 이벤트가 발생할때 호출될 델리게이트입니다.</param>
 /// <param name="onrecv">OnReceive 이벤트가 발생할때 호출될 델리게이트입니다.</param>
 /// <param name="onevent">OnEvent 이벤트가 발생할때 호출될 델리게이트입니다.</param>
 /// <param name="server">서버의 주소입니다.</param>
 /// <param name="id">로그인할 아이디입니다.</param>
 /// <param name="pw">로그인할 비밀번호입니다.</param>
 /// <param name="usr">UserData의 초기값입니다.</param>
 /// <example>
 /// 다음 예제는 이 생성자를 이용해 ClubcChat 서버와 연결하는 법을 보여줍니다.
 /// <code>
 /// ClubcChatSock Login(string id, string pw)
 /// {
 ///		return new ClubcChatSock(new ClubcChatSock.CloseDele(OnClose), new ClubcChatSock.ConnectDele(OnConnect),
 ///			new ClubcChatSock.ReceiveDele(OnReceive), new ClubcChatSock.EventDele(OnEvent), "14.46.56.226", id, pw, null);
 ///		// 14.46.56.226은 공식 Clubc Server의 IP입니다.
 /// }
 /// </code>
 /// </example>
 /// <seealso cref="UserData"/>
 public ClubcChatSock(CloseDele onclose, ConnectDele onconnect, ReceiveDele onrecv, EventDele onevent,
                      string server, string id, string pw, object usr)
 {
     OnClose   += onclose;
     OnConnect += onconnect;
     OnReceive += onrecv;
     OnEvent   += onevent;
     Create(server, id, pw, usr);
 }
コード例 #2
0
        void AcceptLoop()
        {
            Socket      do_sock;
            ReceiveDele rld = new ReceiveDele(Receive);//수신 대리자 개체 생성

            try
            {
                while (true)
                {
                    do_sock = lis_sock.Accept();
                    rld.BeginInvoke(do_sock, null, null);//비동기로 수신
                }
            }
            catch
            {
                Close();
            }
        }
コード例 #3
0
ファイル: RecvEventServer.cs プロジェクト: ksjgit/CSharp
        void AcceptLoop()
        {
            Socket do_sock;

            ReceiveDele rld = new ReceiveDele(Receive); //수신 대리자 개체 생성

            try
            {
                while (true)
                {
                    do_sock = lis_sock.Accept();
                    //수신 대리자 개체의 BeginInvoke 호출로 메시지 수신을 비동기로 처리하세요.
                    rld.BeginInvoke(do_sock, null, null); //비동기로 수신
                }
            }
            catch
            {
                //예외가 발생하면 닫습니다.
                //상품화 수준으로 작성하시려면 스레드로 작성하는 부분을 비동기 방식으로 변경하고 다양한 테스트 조건에서 발생하는 버그들을 수정하셔야 합니다.
                Close();
            }
        }
コード例 #4
0
ファイル: ClubcChatSock.cs プロジェクト: radtek/ClubcServer
 /// <summary>
 /// 생성자입니다.
 /// </summary>
 /// <exception cref="IOException">소켓 생성 및 통신 에러입니다.</exception>
 /// <param name="onclose">OnClose 이벤트가 발생할때 호출될 델리게이트입니다.</param>
 /// <param name="onconnect">OnConnect 이벤트가 발생할때 호출될 델리게이트입니다.</param>
 /// <param name="onrecv">OnReceive 이벤트가 발생할때 호출될 델리게이트입니다.</param>
 /// <param name="onevent">OnEvent 이벤트가 발생할때 호출될 델리게이트입니다.</param>
 /// <param name="server">서버의 주소입니다.</param>
 /// <param name="id">로그인할 아이디입니다.</param>
 /// <param name="pw">로그인할 비밀번호입니다.</param>
 /// <example>
 /// 다음 예제는 이 생성자를 이용해 ClubcChat 서버와 연결하는 법을 보여줍니다.
 /// <code>
 /// ClubcChatSock Login(string id, string pw)
 /// {
 ///		return new ClubcChatSock(new ClubcChatSock.CloseDele(OnClose), new ClubcChatSock.ConnectDele(OnConnect),
 ///			new ClubcChatSock.ReceiveDele(OnReceive), new ClubcChatSock.EventDele(OnEvent), "14.46.56.226", id, pw);
 ///		// 14.46.56.226은 공식 Clubc Server의 IP입니다.
 /// }
 /// </code>
 /// </example>
 /// <seealso cref="UserData"/>
 public ClubcChatSock(CloseDele onclose, ConnectDele onconnect, ReceiveDele onrecv, EventDele onevent,
                      string server, string id, string pw)
     : this(onclose, onconnect, onrecv, onevent, server, id, pw, null)
 {
 }