Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: MIRC Client in MFC -Kết nối tới kênh MIRC với MFC

  1. #1
    Ngày gia nhập
    02 2009
    Bài viết
    75

    Wink MIRC Client in MFC -Kết nối tới kênh MIRC với MFC

    Em đã thử viết chương trình kết nối tới kênh MIRC trong Delphi,java hay Winsock rồi cũng cách như dưới đây đều được .Giờ thử viết trên CAyncSocket của MFC không hiểu sao không được .Bác nào có kinh nghiệm về vấn đề này giúp em phát .
    It look like :
    in MyClientSocket.cpp

    Visual C++ Code:
    1. void CMyClientSocket::OnReceive(int nErrorCode)
    2. {
    3.     // TODO: Add your specialized code here and/or call the base class
    4. if(nErrorCode==0){
    5.         ((CClientDlg*)Dlg)->OnReceive();
    6.     }
    7.    
    8.     CAsyncSocket::OnReceive(nErrorCode);
    9. }
    10.  
    11. void CMyClientSocket::OnConnect(int nErrorCode)
    12. {
    13.     // TODO: Add your specialized code here and/or call the base class
    14. if(nErrorCode==0){
    15.         ((CClientDlg*)Dlg)->OnConnect();
    16.     }
    17.    
    18.     CAsyncSocket::OnConnect(nErrorCode);
    19. }
    20.  
    21. void CMyClientSocket::OnClose(int nErrorCode)
    22. {
    23.     // TODO: Add your specialized code here and/or call the base class
    24.     if(nErrorCode==0){
    25.         ((CClientDlg*)Dlg)->OnClose();
    26.     }
    27.    
    28.     CAsyncSocket::OnClose(nErrorCode);
    29. }
    //----------------------------------------------
    In ClientDlg.cpp
    //--------------------------------------------------------------------------
    Visual C++ Code:
    1. void CClientDlg::OnReceive()
    2. {
    3. char *pBuf =new char [1025];
    4. CString strData;
    5. int iLen;
    6.    iLen=connect.Receive(pBuf,1024);
    7.     if(iLen==SOCKET_ERROR)
    8.     {
    9.         AfxMessageBox("Could not Recieve");
    10.     }
    11.     else
    12.     {
    13.      pBuf[iLen]=NULL;
    14.      strData=pBuf;
    15.      m_RECEIVED.AddString(strData);
    16.      if(strData.Find("PING")==0)
    17.      {
    18.          strData.Right(strData.GetLength()-4);
    19.          SendMess("PONG"+strData);
    20.          m_RECEIVED.AddString("PONG"+strData);
    21.          UpdateData(FALSE);
    22.          delete pBuf;
    23.      }
    24.     }
    25.  
    26. }
    27. //----------------------------------------------------------------------------
    28. void CClientDlg::OnClose()
    29. {
    30.     connect.Close();
    31.     AfxMessageBox("Disconnected !");
    32.     m_RECEIVED.AddString("DisConnected !");
    33. }
    34.  
    35.  
    36. void CClientDlg::OnBdisconnect()
    37. {
    38. OnClose(); 
    39. }
    40.  
    41. void CClientDlg::OnBsend()
    42. {
    43. UpdateData();
    44. SendToMIRC(m_MESSAGE);
    45. m_RECEIVED.AddString("U <<"+m_MESSAGE);
    46. m_MESSAGE="";
    47. UpdateData(FALSE); 
    48. }
    49.  
    50. void CClientDlg::OnBconnect()
    51. {
    52. OnConnect();
    53.  
    54. }
    55. //-----------------------------------------------------------------------
    56. //---------------------------------------------------------------------------------------
    57. void CClientDlg::ConnectMIRC()
    58. { CString temp;
    59.   UpdateData();
    60.  
    61.   temp="NICK "+m_NICK;
    62.   if (SendMess(temp) == SOCKET_ERROR)
    63.     {
    64.         AfxMessageBox("Error !Can't send Nick'sauthen to server");
    65.     }
    66.  
    67.  
    68.   temp="USER "+m_NICK+" \"hotmail.com\" "+"\""+m_SERVER+"\" :"+m_NICK;
    69.   if (SendMess(temp) == SOCKET_ERROR)
    70.     {
    71.         AfxMessageBox("Error !USER'sauthen can't send");
    72.     }
    73.  
    74.   temp="JOIN #"+m_CHANNEL;
    75.   if (SendMess(temp) == SOCKET_ERROR)
    76.     {
    77.         AfxMessageBox("Error !Channel'sauthen can't send\r\n");
    78.     }
    79.  
    80.   temp="MODE #"+m_CHANNEL;
    81.   if (SendMess(temp) == SOCKET_ERROR)
    82.     {
    83.         AfxMessageBox("Error !MODE'sauthen can't send!\r\n");
    84.     }
    85.   temp="PRIVMSG #"+m_CHANNEL+" :Hi all ! I come back!";
    86.   if (SendMess(temp) == SOCKET_ERROR)
    87.     {
    88.         AfxMessageBox("Error !Message can't send\r\n");
    89.     }
    90.  
    91.   UpdateData(FALSE);
    92.  
    93. }
    94. //---------------------------------------------------------------------------------------
    95. void CClientDlg::SendToMIRC(CString mess)
    96. {
    97.   if (SendMess("PRIVMSG #"+mess) == SOCKET_ERROR)
    98.     {
    99.         AfxMessageBox("Error !Message can't send");
    100.     }
    101. }
    102. //---------------------------------------------------------------------------------------
    103. //-----------------------------------------------------------------------------------
    104. int CClientDlg::SendMess(CString mess)
    105. {
    106.     int iLen,iSent;
    107.     // Get the length of the message
    108.     iLen = mess.GetLength();
    109.     // Send the message
    110.     iSent = connect.Send(LPCTSTR(mess), iLen);
    111.     return iSent;
    112. }
    113. //-------------------------------------------------------------------------------
    Thanks !

    Nhớ bỏ code vào thẻ CODE
    Đã được chỉnh sửa lần cuối bởi nguyenbinh07 : 16-05-2009 lúc 01:11 PM.

    chán code, ghét máy tính rồi

  2. #2
    Ngày gia nhập
    02 2009
    Bài viết
    75

    Sao số người view it vậy nhỉ .Diễn đàn này không có ai quan tâm đến lập trình Socket sao?

    chán code, ghét máy tính rồi

  3. #3
    Ngày gia nhập
    06 2007
    Nơi ở
    Nhà trọ
    Bài viết
    49

    Trích dẫn Nguyên bản được gửi bởi DarkWizard Xem bài viết
    Sao số người view it vậy nhỉ .Diễn đàn này không có ai quan tâm đến lập trình Socket sao?
    Mới post lên 2 tiếng thì đừng kêu la

  4. #4
    Ngày gia nhập
    02 2009
    Bài viết
    75

    Trích dẫn Nguyên bản được gửi bởi dungcoi Xem bài viết
    Mới post lên 2 tiếng thì đừng kêu la
    Hi hi ! Do tui thấy người khác post cùng mà sao view nhiều thế
    Bác superWorm chắc siêu cái này lắm giúp ae đê

    chán code, ghét máy tính rồi

  5. #5
    Ngày gia nhập
    02 2009
    Bài viết
    75

    WinSock Guru ! Who are U ?

    chán code, ghét máy tính rồi

  6. #6
    Ngày gia nhập
    02 2009
    Bài viết
    75

    Mặc định MIRC Client in MFC -Kết nối tới kênh MIRC với MFC

    nản................(đủ 16)

    chán code, ghét máy tính rồi

Các đề tài tương tự

  1. Trả lời: 6
    Bài viết cuối: 28-06-2014, 12:02 PM
  2. Làm sao trong chat lan client có thể nhận đúng font chữ client gửi?
    Gửi bởi kienchochethahaha trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 26-12-2012, 08:19 PM
  3. Socket Không thể xóa Client ngắt kết nối với Server trong danh sách Client đang kết nối
    Gửi bởi thanhtanh trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 20-10-2012, 04:37 PM
  4. Có cần cài SQlServer trên máy Client, trong ứng dụng Server Client
    Gửi bởi billsang trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 28-10-2011, 01:09 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn