Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 4 của 4
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Hỏi như bạn thì chúa cũng bó tay không rõ bạn đang muốn hỏi cái gì!

    Bạn tham khảo source code ở đính kèm (Nguồn lấy từ codeguru.com) được viết bằng Visual C++ 6

  3. #3
    Ngày tham gia
    Sep 2015
    Đang ở
    Số 60 Thái Hà, Đống Đa, Hà Nội
    Bài viết
    0
    em xin lỗi

    thực sự em đang bắt đầu học winsock OS windows nên có quá nhiều câu hỏi vẫn không biết nên hỏi thế nào cho rõ hơn. có gì các pro lượng thứ và cứ thẳng thắn đập vào mặt em để em biết.

    cảm ơn anh Hoang về demo. em chưa hiểu rõ lắm nhưng có thể đoán là phải dùng giao thức POP3 để load mail từ server về cái app mail client của mình

    tiện thể cho em hỏi về đoạn code này. tại sao tham số của function select() lại là hSocket+1 ??? (hSocket là SOCKET)

    Mã nguồn PHP:
    void CSmtp::SendData(Command_Entry* pEntry){ if(m_ssl != NULL) { SendData_SSL(m_ssl, pEntry); return; } int idx = 0,res,nLeft = strlen(SendBuf); fd_set fdwrite; timeval time; time.tv_sec = pEntry->send_timeout; time.tv_usec = 0; assert(SendBuf); if(SendBuf == NULL) throw ECSmtp(ECSmtp::SENDBUF_IS_EMPTY); while(nLeft > 0) { FD_ZERO(&fdwrite); FD_SET(hSocket,&fdwrite); if((res = select(hSocket+1,NULL,&fdwrite,NULL,&time)) == SOCKET_ERROR) { FD_CLR(hSocket,&fdwrite); throw ECSmtp(ECSmtp::WSA_SELECT); } if(!res) { //timeout FD_CLR(hSocket,&fdwrite); throw ECSmtp(ECSmtp::SERVER_NOT_RESPONDING); } if(res && FD_ISSET(hSocket,&fdwrite)) { res = send(hSocket,&SendBuf[idx],nLeft,0); if(res == SOCKET_ERROR || res == 0) { FD_CLR(hSocket,&fdwrite); throw ECSmtp(ECSmtp::WSA_SEND); } nLeft -= res; idx += res; } } OutputDebugStringA(SendBuf); FD_CLR(hSocket,&fdwrite);}  
    theo em hiểu thì select() làm việc trong coi cái socket xem lúc nào có thể send() or recv(). vậy thì tham số nên để là hSocket thôi chứ sao lại +1 làm gì ?

    tiện thể cho em hỏi luôn:
    - SMTP và POP là 2 giao thức dùng để send / load mail ?
    - SSL/TLS là 2 chuẩn do ai đó đặt ra và thư viện của nó không sẵn có trong thư viện của C++ ? (nếu có thì thư viện đó là gì?)
    em đọc tài liệu tiếng anh nên cái này hơi ú ớ chưa dám chắc. các pro biết thì chỉ giáo cho em.

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Oh Bác nào trả lời hộ cái với! Cái này em cũng không biết và đang cần tìm hiểu [IMG]images/smilies/biggrin.png[/IMG]

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •