亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? winsockdnsclient.cpp

?? This zip file contain tow TDI client samples.
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
     pPort = pArgv[3];                                // Get port.
     if (0==strcmp(pPort, "."))                       // Dot given?
       pPort = dfltPort;                              // Point to default port.
    }
  else
    pPort = dfltPort;                                 // Get port.

  port = atoi(pPort);                                 // Convert ascii to integer.

  printf("   Using IP address = %s, port = %d\n", pIPAddr, port);

  // Initialize Winsocket. 
  if (0!=WSAStartup(MAKEWORD(2, 0), &WSAData))        // Accept up to Winsock 2.0.
  {
    printf(JAProgNm ":  WSAStartup failed.  Error = %d\n", WSAGetLastError());
    return 1;
  }

  // Create a UDP/IP socket that is bound to the server.
  if (INVALID_SOCKET==(ServerSock = socket(AF_INET, SOCK_DGRAM, 0)))
  {
    printf(JAProgNm ":  Allocating socket failed.  Error = %d\n", WSAGetLastError());
    return 1;
  }

  // Fill out the server socket's address information.
  destination_sin.sin_family = AF_INET;

  // Retrieve the host information corresponding to the host name.
  if (NULL==(pHostEnt = gethostbyname(pIPAddr))) 
  {
    printf(JAProgNm ":  Unable to get the host name.  Error = %d\n", WSAGetLastError ());
    closesocket (ServerSock);
    return 1;
  }

  // Assign the socket IP address.
  memcpy((char FAR *)&(destination_sin.sin_addr), 
         pHostEnt->h_addr, 
         pHostEnt->h_length
        );

  // Convert to network ordering.
  destination_sin.sin_port = htons(port);

  // Establish a connection to the server socket.
  if (SOCKET_ERROR==connect(ServerSock, 
                            (PSOCKADDR)&destination_sin, 
                            sizeof(destination_sin)
                           )
     )
  {
    ULONG error = WSAGetLastError();
    printf(JAProgNm ":  Connecting to the server failed.  Error = %d%s\n", error, WSAECONNREFUSED==error ? " (connection refused)" : "");
    closesocket(ServerSock);
    return 1;
  }

  // Send data to the server.

  #define UDPBfrSz 128

  sendLn = UDPBfrSz;

  pBuffer = (char *)malloc(sendLn);                   // Get a buffer.

  if (NULL==pBuffer)                                  // No good?
    {
     printf(JAProgNm ":  Couldn't allocate buffer, quitting\n");
     goto CloseSocket;
    }

  pQryData = (pMyDNSQuery)pBuffer;                    // Point to query.

  memset(pQryData, 0, UDPBfrSz);                      // Zero area.

  pQryData->QueryId = GetNetwkPort(2);                // Set query id (nominal).

  pQryData->RecursDesired = TRUE;                     // Show recursion OK.

  pQryData->QuestionCount = GetNetwkPort(1);          // Set number of queries.

  pQuestData = ((char *)pQryData) +                   // Point to question area.
               FIELD_OFFSET(myDNSQuery, Question);

  *(PUCHAR)pQuestData = 3;                            // Set length of first piece.

  memcpy(pQuestData+1, "www", strlen("www"));
                                                      
  *(PUCHAR)(pQuestData+4) = 3;                        // Set length of second piece.

  memcpy(pQuestData+5, "ibm", strlen("ibm"));

  *(PUCHAR)(pQuestData+8) = 3;                        // Set length of third piece.

  memcpy(pQuestData+9, "com", strlen("com"));

  pShort = (PUSHORT)((PUCHAR)pQuestData + 13);        // Point past question area.

  *pShort = GetNetwkPort(1);                          // Set QNAME.
   
  *(pShort+1) = GetNetwkPort(1);                      // Set QTYPE.
   
  sendLn = FIELD_OFFSET(myDNSQuery, Question) +       // Get total length.
           strlen(pQuestData) + 1             +
           2                                  +
           2;

  printf(JAProgNm ":  Sending %d bytes\n", sendLn);

  lclStatus = send(ServerSock,                        // Send datagram.
                   pBuffer,
                   sendLn,
                   0
                  );

  if (SOCKET_ERROR==lclStatus)
    {
     printf(JAProgNm ":  Sending data to the server failed.  Error = %d\n", WSAGetLastError());
     goto CloseSocket;
    }

  pRspData = (pMyDNSQuery)szClientA;                  // Point to response area.

  // Receive data from the server socket.
  rcRecv = recv(ServerSock, (char *)pRspData, sizeof(szClientA), 0);

  // Check if there is any data received. If there is, display it.
  if (SOCKET_ERROR==rcRecv)
  {
    printf(JAProgNm ":  No data is received, recv failed.  Error = %d\n", WSAGetLastError());
  }
  else if (0==rcRecv)
  {
    printf(JAProgNm ":  Finished receiving data\n");
  }
  else
  {
    printf("\n\n" JAProgNm ":  Total received from server = %d\n", rcRecv);

    UCHAR FullName[64];

    USHORT NameOffset =                               // Get name offset, including 2 high-order bits.
             GetNetwkPort(* (PUSHORT) (((PUCHAR)pRspData)+sendLn) );

    NameOffset &= ~0xc000;                            // Turn off high-order 2 bits.

    PUCHAR pNameFd =                                  // Point to name.
             ((PUCHAR)pQryData) + FIELD_OFFSET(myDNSQuery, QueryId) + NameOffset,
           pPartName;

    pRRData =                                         // Point to RR field.
      (pMyDNSRR)(((PUCHAR)pRspData) + sendLn + 2);

    USHORT nbrAnswers =                               // Get number of RR fields.
             GetNetwkPort(pRspData->AnswerCount);

    for (                                             // Go through RR fields.
         ULONG i = 0;
         i < nbrAnswers;
         i ++
        )
      {
       FullName[0] = 0;

       pPartName = pNameFd;

       do
         {
          pPartName =                                 // Build name, piece by piece.
            CopyNextStanza(pPartName, FullName);
         }
           while(NULL!=pPartName);

       FullName[strlen((const char *)FullName)-1] = 0;// Replace final '.' with null terminator.

       char IPAddr[16],
            Octet1[4],
            Octet2[4],
            Octet3[4],
            Octet4[4];

       ULONG addr =                                   // Get IP address, converting it from network form.
               GetNetwkAddrDw(*(PULONG)pRRData->RRData);

       _ultoa(addr>>24,              Octet1, 10);       
       _ultoa((0x00ff0000&addr)>>16, Octet2, 10);
       _ultoa((0x0000ff00&addr)>>8,  Octet3, 10);
       _ultoa(0x000000ff&addr,       Octet4, 10);

       strcpy(IPAddr, Octet1);
       strcat(IPAddr, ".");
       strcat(IPAddr, Octet2);
       strcat(IPAddr, ".");
       strcat(IPAddr, Octet3);
       strcat(IPAddr, ".");
       strcat(IPAddr, Octet4);

       printf("Name = %s, IP addr = %s\n", FullName, IPAddr);

       pRRData =                                      // Point to next RR field.
         (pMyDNSRR) ( ((PUCHAR)pRRData) + FIELD_OFFSET(myDNSRR, RRData) +
                      4 +
                      2
                    );
      }

  }

CloseSocket:
  // Close the socket.
  closesocket(ServerSock);

  WSACleanup();

  if (NULL!=pBuffer)
    free(pBuffer);                                    // Free buffer.

ExitPoint:
  return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美高清一级片在线观看| 国产一区二区精品在线观看| 免费在线成人网| 99久久免费视频.com| 日韩欧美一区二区久久婷婷| 亚洲人成网站精品片在线观看| 九九九久久久精品| 91麻豆精品国产无毒不卡在线观看| 欧美激情在线看| 九九精品一区二区| 在线综合+亚洲+欧美中文字幕| 亚洲欧洲99久久| 精品无人码麻豆乱码1区2区| 欧美日韩国产另类不卡| 中文字幕中文字幕在线一区 | 在线看日本不卡| 国产精品少妇自拍| 国产成人亚洲综合a∨婷婷| 欧美一级欧美三级| 午夜久久久久久| 欧美色倩网站大全免费| 亚洲人成7777| 91免费看视频| 26uuu国产电影一区二区| 天天做天天摸天天爽国产一区 | 国产a久久麻豆| 久久亚洲影视婷婷| 国产呦精品一区二区三区网站| 欧美性猛片aaaaaaa做受| 亚洲男帅同性gay1069| 99re免费视频精品全部| 亚洲色图都市小说| 91天堂素人约啪| 夜夜精品视频一区二区| 欧美亚洲尤物久久| 亚洲国产欧美在线人成| 欧美日韩亚洲综合在线| 亚洲午夜国产一区99re久久| 欧美精品久久久久久久久老牛影院| 亚洲小说欧美激情另类| 欧美日韩国产高清一区二区三区| 亚洲韩国一区二区三区| 欧美日韩情趣电影| 日韩在线a电影| 精品乱码亚洲一区二区不卡| 国产精品一区二区无线| 国产精品久久久99| 91九色02白丝porn| 天天操天天综合网| 久久久久97国产精华液好用吗| 国产一区二区免费视频| 中文字幕一区二区三区蜜月| 日本道免费精品一区二区三区| 性做久久久久久久免费看| 日韩一级大片在线| 丁香桃色午夜亚洲一区二区三区| 亚洲三级久久久| 欧美精品一卡两卡| 国产一区二区美女| 一区二区三区欧美日| 91精品久久久久久久99蜜桃| 国产在线播放一区二区三区| 亚洲欧美成aⅴ人在线观看| 欧美日韩精品一区视频| 国产呦萝稀缺另类资源| 综合久久一区二区三区| 日韩欧美一二三区| 91香蕉视频污| 国内精品第一页| 夜夜嗨av一区二区三区网页| 久久久综合网站| 欧美午夜一区二区三区| 国产精品自拍一区| 亚洲亚洲人成综合网络| 国产欧美一区二区三区沐欲| 欧美视频一区二区在线观看| 国产精品夜夜爽| 五月天一区二区| 日韩美女视频一区二区 | 狠狠色伊人亚洲综合成人| 亚洲视频免费看| 精品国产乱码91久久久久久网站| 99精品热视频| 国产毛片一区二区| 亚洲二区在线视频| 最新久久zyz资源站| 欧美哺乳videos| 欧美色倩网站大全免费| 成人精品国产福利| 韩日av一区二区| 视频一区二区中文字幕| 一区二区三区毛片| 中文字幕视频一区| 国产欧美一区二区精品仙草咪 | 国产又黄又大久久| 日韩二区三区四区| 亚洲图片欧美色图| 一区二区三区久久久| 中文字幕中文字幕在线一区| 久久久久久久久岛国免费| 欧美一级理论片| 欧美久久久久免费| 欧美性色综合网| 欧美亚洲一区二区三区四区| 91丨国产丨九色丨pron| 丁香婷婷综合激情五月色| 国产精品主播直播| 国产精品影视在线| 国产成人在线免费| 成人教育av在线| www.欧美色图| 99精品1区2区| 91福利资源站| 欧美性受xxxx黑人xyx性爽| 在线免费观看日本一区| 欧美视频一区二区三区四区| 在线观看三级视频欧美| 欧美午夜精品久久久久久超碰| 欧美亚洲高清一区二区三区不卡| 91极品美女在线| 欧美三级中文字| 日韩欧美资源站| 精品播放一区二区| 国产三级久久久| 日韩一区欧美一区| 一级精品视频在线观看宜春院| 亚洲国产精品一区二区尤物区| 亚洲一区二区三区四区的| 亚洲自拍与偷拍| 麻豆成人91精品二区三区| 国产老女人精品毛片久久| 成人免费av网站| 欧美亚洲禁片免费| 91精品福利在线一区二区三区 | 制服丝袜一区二区三区| 欧美电影免费观看高清完整版在 | 免播放器亚洲一区| 国产在线一区二区| 成人久久18免费网站麻豆| 在线观看亚洲精品| 精品久久一区二区| 亚洲欧洲av在线| 免费人成在线不卡| 成人av小说网| 777亚洲妇女| 国产精品毛片久久久久久| 一个色妞综合视频在线观看| 免费观看成人av| 91性感美女视频| 欧美成人官网二区| 成人欧美一区二区三区在线播放| 亚洲精品v日韩精品| 裸体歌舞表演一区二区| 99久久99久久精品免费观看| 91精品国产高清一区二区三区 | 欧美日韩成人激情| 中文一区二区在线观看| 午夜精品视频一区| 国产**成人网毛片九色| 欧美丰满嫩嫩电影| 18欧美亚洲精品| 精品综合免费视频观看| 欧美亚洲国产一卡| 国产嫩草影院久久久久| 免费成人在线观看视频| 色呦呦国产精品| 久久精品欧美日韩精品 | 欧美一区二区三级| 一色屋精品亚洲香蕉网站| 男人的天堂久久精品| 色哦色哦哦色天天综合| 欧美国产精品一区二区| 日韩在线一二三区| 欧美少妇性性性| 中文字幕一区二区三中文字幕| 久久精品国产99国产精品| 欧美日韩免费一区二区三区视频 | 国产女同性恋一区二区| 美腿丝袜亚洲综合| 欧美高清性hdvideosex| 亚洲永久精品国产| 色香色香欲天天天影视综合网 | 精品国产sm最大网站| 亚洲综合图片区| 在线一区二区三区四区五区| 国产精品乱码久久久久久| 国产精品一二二区| 337p日本欧洲亚洲大胆色噜噜| 亚洲高清不卡在线观看| 色婷婷激情综合| 1024亚洲合集| 色婷婷久久一区二区三区麻豆| 最近日韩中文字幕| 97精品久久久午夜一区二区三区 | 亚洲妇女屁股眼交7| 欧美午夜片在线看| 午夜视频一区二区三区| 欧美日韩国产系列| 爽爽淫人综合网网站| 91精品婷婷国产综合久久竹菊|