same

解决方案 »

  1.   

    m_ip比如说是smtp.tom.com
    sclient=socket(AF_INET,SOCK_STREAM,0);
    if (sclient==SOCKET_ERROR)
    {
    m_err.Format("socket()error!\t%d",WSAGetLastError());
    GetDlgItem(IDC_EDIT4)->SetWindowText(m_err);
    }
    server.sin_family=AF_INET;
    UpdateData(true);
    server.sin_addr.S_un.S_addr=inet_addr(m_ip);//
    server.sin_port=htons(PORT);
    int ret = 0;
    int error = 0;
    ret = connect(sclient, (LPSOCKADDR)&server, sizeof(server));
    if(ret == SOCKET_ERROR){
    TRACE("Connect Error: %d \n", (error = WSAGetLastError()));
    if(error == 10061)
    AfxMessageBox(_T("请确认服务器确实已经打开并工作在同样的端口!"));
    }
    int iErrorCode=WSAAsyncSelect(sclient,m_hWnd,WM_CLIENT,FD_CONNECT|FD_READ|FD_WRITE|FD_CLOSE);
    if(iErrorCode==SOCKET_ERROR)
    AfxMessageBox("WSAAsyncSelect failed on socket");
    ///////////////////////////////////////////////////////
    char     buffer[1024]={0};
    int ret1=recv(sclient,buffer,1024,0);
    if (ret1==SOCKET_ERROR)
    AfxMessageBox("没有可接受的数据!");
    CString szstring;
    szstring.Format("%s",buffer);