本帖最后由 VisualEleven 于 2012-01-08 18:48:16 编辑

解决方案 »

  1.   

    UTF8转ASCII
    MultiByteToWideChar(CP_UTF8,...);
    WideCharToMultiByte(CP_ACP,...);
      

  2.   

    我是不会发送- -根本不会C++的发包.
    以前我弄的是VB版的,但是那个程序跟我现在用C++的整合不到一起- -
    所以来求助下- -
      

  3.   

    WORD wVersionRequested;
    WSADATA wsaData;
    int err;
    wVersionRequested = MAKEWORD(1, 1);
    err = WSAStartup( wVersionRequested, &wsaData );
    if ( err != 0 ) 
    {
    return;
    }
    if ( LOBYTE( wsaData.wVersion ) != 1 ||
    HIBYTE( wsaData.wVersion ) != 1 ) 
    {
    WSACleanup( );
    return; 
    } SOCKET sockClient = socket(AF_INET, SOCK_DGRAM, 0) ; SOCKADDR_IN addrSrv ;
    addrSrv.sin_addr.S_un.S_addr = inet_addr("203.171.229.52") ;
    addrSrv.sin_family = AF_INET ;
    addrSrv.sin_port = htons(27018) ; char sendBuf[100] ;
    char recvBuf[_MAX_PATH] ;
    char tempBuf[200] ; int len = sizeof(SOCKADDR) ; while (1)
    {
    lstrcpy(sendBuf,"TSource Engine Query");
    sendto( sockClient, sendBuf, strlen(sendBuf), 0, (SOCKADDR*)&addrSrv , len ) ;
    recvfrom( sockClient , recvBuf , _MAX_PATH , 0 , (SOCKADDR*)&addrSrv , &len ) ; 
    CString temp;
    m_list.InsertString(0, recvBuf);
    temp.Format("recvBuf:%s", recvBuf);
    AfxMessageBox(temp);
    } closesocket(sockClient) ;
    WSACleanup() ;
    //////////////////////////////
    问题蛮多的- -