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

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

?? netdiagnostics.c

?? 基于高通的brew平臺上的手機網絡診斷程序netdiagnostics
?? C
?? 第 1 頁 / 共 4 頁
字號:
   pApp->m_pszMsg = "";

   // Duplicte form data so we can write over it
   
   StrReplace(&pApp->m_pszFormData, pszSubmit);

   // Locate, decode, and process form fields
   
   pszIter = pApp->m_pszFormData;

   if (!pszIter) {
      return;
   }

   pszIter = STRCHREND(pszIter, '?');
   if (*pszIter) {
      ++pszIter;
   }

   {
      IWebUtil     *piwu;
      WebFormField  wff;

      // go get me a gosh-darn parsin' machine
      if (SUCCESS != ISHELL_CreateInstance(pApp->a.m_pIShell, AEECLSID_WEBUTIL,
                                           (void **)&piwu)) {
         return;
      }
      
      // all pointers into a string we STRDUP'ed, all NULL terminated
      // by IWebUtil in place for me
      
      // IWebUtil can parse a bunch at a time, but we'll just iterate here

      while (0 != IWEBUTIL_ParseFormFields(piwu,&pszIter,&wff,1,0)) {
         boolean bOn = STREQ(wff.pcValue, "on");
         if (STREQ(wff.pcName, "HOST")) {
            pApp->m_pszHost = wff.pcValue;
         } else if (STREQ(wff.pcName, "URL")) {
            pApp->m_pszURL = wff.pcValue;
         } else if (STREQ(wff.pcName, "MSG")) {
            pApp->m_pszMsg = wff.pcValue;
         } else if (STREQ(wff.pcName, "RS")) {
            pApp->m_bRS = bOn;
         } else if (STREQ(wff.pcName, "RT")) {
            pApp->m_bRT = bOn;
         } else if (STREQ(wff.pcName, "PROTOCOL")) {
            if (STREQ(wff.pcValue, "1")) {
               pApp->m_bTCP = 1;
            }
         }
      }
      IWEBUTIL_Release(piwu);
      piwu = 0;
   }

   pApp->m_nDataLength = STRLEN(pApp->m_pszMsg);
   
   // Create Static Control to Display Messages
   if (ISHELL_CreateInstance(pApp->a.m_pIShell, AEECLSID_STATIC,(void**)&pApp->m_pIStatic) == AEE_SUCCESS)
      pStatic = pApp->m_pIStatic;   // Cache Pointer
   else
      return;

   ISTATIC_SetRect(pStatic, &pApp->m_rc);
   ISTATIC_SetProperties(pStatic, ST_ASCII|ST_NOSCROLL);

   // Disable Browser
   SETAEERECT(&rc, 0, 0, 0, 0);
   IHTMLVIEWER_SetRect(pApp->m_pHTMLViewer, &rc);

   // Clear Screen
   IDISPLAY_ClearScreen(pApp->a.m_pIDisplay);

   ND_Print(pApp, "** starting...\n");

   if (STRBEGINS(JUMP_ECHOTEST, pszSubmit)) {

      // Make note of type of cleanup to be performed when we exit this state   
      pApp->m_pfnViewCleanup = ND_EchoCleanup;
      
      // Start Echo Test
      Echoer_Start(pApp);

   } else {
      // Make note of type of cleanup to be performed when we exit this state   
      pApp->m_pfnViewCleanup = ND_HTTPCleanup;

      // Start HTTP test(s)
      FOR_ALL_WEBACTIONS(pApp, p, WebAction_Start(p, pApp->m_pszURL) );
   }
}

/*===========================================================================

FUNCTION: Echoer_Start

DESCRIPTION:
	Starts Echo Test

PARAMETERS:
	pApp [in] - Pointer to the CNetDiagnosticsApp structure. This structure contains 
    information specific to this applet. 

DEPENDENCIES:
  Assumes the displayed controls have been previously created and 
  initialized.

RETURN VALUE:
  None

SIDE EFFECTS:
  Causes the phone display to be updated.
===========================================================================*/
static void Echoer_Start(CNetDiagnosticsApp * pApp)
{
   // Reset statistics
   pApp->m_nTotalTime = pApp->m_nSendTime = pApp->m_nReceiveTime = 0;

   pApp->m_pISocket = INETMGR_OpenSocket(pApp->m_pINetMgr, (pApp->m_bTCP ? AEE_SOCK_STREAM : AEE_SOCK_DGRAM));

   if (pApp->m_pISocket == NULL) {
      ND_Print(pApp, "** OpenSocket Failed: Error %d\n", INETMGR_GetLastError(pApp->m_pINetMgr));
      return;
   }

   if (pApp->m_bTCP)
      Echoer_TCPConnect(pApp);
   else
      Echoer_UDPWrite(pApp);
}

/*===========================================================================

FUNCTION: Echoer_TCPConnected

DESCRIPTION:
	Callback for ISOCKET_Connect.

PARAMETERS:
	p [in] - Pointer to the CNetDiagnosticsApp structure. This structure contains 
    information specific to this applet.
   nErr - Error Code 

DEPENDENCIES:
   None

RETURN VALUE:
   None

SIDE EFFECTS:
   None
===========================================================================*/
static void Echoer_TCPConnected(void *p, int nErr)
{
   CNetDiagnosticsApp * pApp = (CNetDiagnosticsApp *)p;

   if ((nErr == AEE_NET_SUCCESS) || (nErr == AEE_NET_EISCONN)){
      pApp->m_nTCPIdx = 0;

      // Cache Write Start Time
      pApp->m_nSendTime = GETUPTIMEMS();

      Echoer_TCPWrite(pApp);    
   } else {
      ND_Print(pApp, "** Connect Failed: Error %d\n", nErr);
      ReleaseObj((void**)&pApp->m_pISocket);
   }
}

/*===========================================================================

FUNCTION: Echoer_TCPConnect

DESCRIPTION:
	Connects to a socket

PARAMETERS:
	pApp [in] - Pointer to the CNetDiagnosticsApp structure. This structure contains 
    information specific to this applet.

DEPENDENCIES:
   None

RETURN VALUE:
   None

SIDE EFFECTS:
   None
===========================================================================*/
static void Echoer_TCPConnect(CNetDiagnosticsApp * pApp)
{
   // GetHostByName() understands dot-notation IP addresses as well as domain
   // names so we don't need to call INET_ATON() separately (as on other
   // platforms).

   CALLBACK_Init(&pApp->m_cb,Echoer_TCPDNSConnect,pApp);
   INETMGR_GetHostByName(pApp->m_pINetMgr,&pApp->m_dnsr, pApp->m_pszHost,&pApp->m_cb);
}

/*===========================================================================

FUNCTION: Echoer_TCPDNSConnect

DESCRIPTION:
	Connects to a socket when IP address is to be resolved using DNS.

PARAMETERS:
	pApp [in] - Pointer to the CNetDiagnosticsApp structure. This structure contains 
    information specific to this applet.

DEPENDENCIES:
   None

RETURN VALUE:
   None

SIDE EFFECTS:
   None
===========================================================================*/
static void Echoer_TCPDNSConnect(void *p)
{
   int nErr;
   CNetDiagnosticsApp * pApp = (CNetDiagnosticsApp *)p;

   nErr = pApp->m_dnsr.nResult;

   if (nErr > AEEDNSMAXADDRS) {
      ND_Print(pApp, "** DNS Lookup Failed: Error %d\n", nErr);
      ReleaseObj((void**)&pApp->m_pISocket);
      return;
   }

   // Cache Start Time
   pApp->m_nTotalTime = GETUPTIMEMS();

   nErr = ISOCKET_Connect(pApp->m_pISocket, pApp->m_dnsr.addrs[0], 0x700, Echoer_TCPConnected, pApp);

   if (nErr != AEE_NET_SUCCESS) {
      ND_Print(pApp, "** Connect Failed: Error %d\n", ISOCKET_GetLastError(pApp->m_pISocket));
      ReleaseObj((void**)&pApp->m_pISocket);
   } else {
      ND_Print(pApp, "** connecting...\n");
   }
}
/*===========================================================================

FUNCTION: Echoer_TCPWrite

DESCRIPTION:
	Writes to a socket

PARAMETERS:
	pApp [in] - Pointer to the CNetDiagnosticsApp structure. This structure contains 
    information specific to this applet.

DEPENDENCIES:
   None

RETURN VALUE:
   None

SIDE EFFECTS:
   None
===========================================================================*/
static void Echoer_TCPWrite(CNetDiagnosticsApp * pApp)
{
   int         nSent;

   nSent = ISOCKET_Write(pApp->m_pISocket,((byte *)pApp->m_pszMsg) + pApp->m_nTCPIdx,
                         (uint16)(pApp->m_nDataLength - pApp->m_nTCPIdx));
   
   if (nSent == AEE_NET_ERROR) {
      ND_Print(pApp, "** Write Failed: Error %d\n", ISOCKET_GetLastError(pApp->m_pISocket));
      ReleaseObj((void**)&pApp->m_pISocket);
      return;
   }
   else if (nSent == AEE_NET_WOULDBLOCK) {
      ND_Print(pApp, "** writing...\n");
      ISOCKET_Writeable(pApp->m_pISocket,(PFNNOTIFY)Echoer_TCPWrite,pApp);
   }
   else {
      pApp->m_nTCPIdx += nSent;
      if (pApp->m_nTCPIdx >= pApp->m_nDataLength) {
         // Writing Complete
         // Calculate Send Time
         pApp->m_nSendTime = (GETUPTIMEMS() - pApp->m_nSendTime);
         // Reset Index
         pApp->m_nTCPIdx = 0;
         // Reset Buffer
         MEMSET(pApp->m_pszMsg, 0, pApp->m_nDataLength);
         // Display Message
         ND_Print(pApp, "** writing complete...\n");
         // Cache Read Time
         pApp->m_nReceiveTime = GETUPTIMEMS();
         // Start Reading
         Echoer_TCPRead(pApp);
         return;
      }
      else {
         Echoer_TCPWrite(pApp);
      }
   }

}

/*===========================================================================

FUNCTION: Echoer_TCPRead

DESCRIPTION:
	Reads from a socket

PARAMETERS:
	pApp [in] - Pointer to the CNetDiagnosticsApp structure. This structure contains 
    information specific to this applet.

DEPENDENCIES:
   None

RETURN VALUE:
   None

SIDE EFFECTS:
   None
===========================================================================*/
static void Echoer_TCPRead(CNetDiagnosticsApp * pApp)
{
   int       nRead;

   nRead = ISOCKET_Read(pApp->m_pISocket, ((byte *)pApp->m_pszMsg) + pApp->m_nTCPIdx, 
                        pApp->m_nDataLength - pApp->m_nTCPIdx);
   
   if (nRead == AEE_NET_ERROR) {
      ND_Print(pApp, "** Read Failed: Error %d\n", ISOCKET_GetLastError(pApp->m_pISocket));
      ReleaseObj((void**)&pApp->m_pISocket);
      return;
   }
   else if (nRead == AEE_NET_WOULDBLOCK) {
      ND_Print(pApp, "** reading...\n");
      ISOCKET_Readable(pApp->m_pISocket, (PFNNOTIFY)Echoer_TCPRead, pApp);
   }
   else {
      pApp->m_nTCPIdx += nRead;
      if (pApp->m_nTCPIdx >= pApp->m_nDataLength) {
         // Calulate Receive Time
         pApp->m_nReceiveTime = (GETUPTIMEMS() - pApp->m_nReceiveTime);
         // Calculate Total Time
         pApp->m_nTotalTime = (GETUPTIMEMS() - pApp->m_nTotalTime);
         pApp->m_nTCPIdx = 0;
         ND_Print(pApp, "** reading Complete...\n");
         if (pApp->m_bRS) {
            ND_Print(pApp, "%s\n", pApp->m_pszMsg);
         }
         if (pApp->m_bRT) {
            ND_Print(pApp, ("Total Time: %d ms\n"
                            "Send Time: %d ms @ %d bps\n"
                            "Receive Time: %d ms @ %d bps\n"),
                     pApp->m_nTotalTime,
                     pApp->m_nSendTime, (pApp->m_nSendTime ? (pApp->m_nDataLength*1000)/pApp->m_nSendTime : 0),
                     pApp->m_nReceiveTime, (pApp->m_nReceiveTime ? (pApp->m_nDataLength*1000)/pApp->m_nReceiveTime : 0));
         }
         ReleaseObj((void**)&pApp->m_pISocket);
         return;
      }
      else {
         Echoer_TCPRead(pApp);
      }
   }
}

/*===========================================================================

FUNCTION: Echoer_UDPWrite

DESCRIPTION:
	Send UDP data to a socket

PARAMETERS:
	pApp [in] - Pointer to the CNetDiagnosticsApp structure. This structure contains 
    information specific to this applet.

DEPENDENCIES:
   None

RETURN VALUE:
   None

SIDE EFFECTS:
   None
===========================================================================*/
static void Echoer_UDPWrite(CNetDiagnosticsApp * pApp)
{
   // GetHostByName() understands dot-notation IP addresses as well as domain
   // names so we don't need to call INET_ATON() separately (as on other
   // platforms).
   
   CALLBACK_Init(&pApp->m_cb,Echoer_UDPDNSWrite,pApp);
   INETMGR_GetHostByName(pApp->m_pINetMgr,&pApp->m_dnsr, pApp->m_pszHost,&pApp->m_cb);
}

/*===========================================================================

FUNCTION: Echoer_UDPDNSWrite

DESCRIPTION:
	Send UDP packet to a socket when IP address is to be resolved using DNS.

PARAMETERS:
	pApp [in] - Pointer to the CNetDiagnosticsApp structure. This structure contains 
    information specific to this applet.

DEPENDENCIES:
   None

RETURN VALUE:
   None

SIDE EFFECTS:
   None
===========================================================================*/
static void Echoer_UDPDNSWrite(void *p)
{
   int            nErr;
   CNetDiagnosticsApp * pApp = (CNetDiagnosticsApp *)p;

   nErr = pApp->m_dnsr.nResult;

   if (nErr > AEEDNSMAXADDRS) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久亚洲一区二区三区明星换脸| 亚洲同性gay激情无套| 性感美女极品91精品| 欧美视频在线播放| 欧美欧美欧美欧美首页| 日韩亚洲电影在线| 国内外成人在线| 精品粉嫩超白一线天av| 国产成人av在线影院| 国产精品九色蝌蚪自拍| 91黄色免费看| 久久成人免费日本黄色| 亚洲精品一区二区三区四区高清| 国产精品亚洲第一区在线暖暖韩国| 亚洲国产精品t66y| 日韩精品电影在线| 久久久五月婷婷| 色综合一个色综合| 五月天丁香久久| 久久这里只有精品首页| 色综合夜色一区| 久久不见久久见免费视频7 | 91福利视频网站| 日韩精品每日更新| 久久久久久久久久久久电影| 一区二区三区自拍| 欧美一级久久久| 成人一道本在线| 天使萌一区二区三区免费观看| 精品成人私密视频| 91福利国产成人精品照片| 日本强好片久久久久久aaa| 欧美激情综合网| 欧美精品久久一区二区三区| 福利电影一区二区| 日韩西西人体444www| 粉嫩av一区二区三区粉嫩| 婷婷综合久久一区二区三区| 国产日韩亚洲欧美综合| 欧美日韩大陆在线| av不卡一区二区三区| 精品一区二区三区在线视频| 一区二区三区日韩| 中文字幕欧美激情| 欧美电影免费观看高清完整版| 91美女片黄在线观看91美女| 国产欧美一区二区精品久导航| 欧美日韩一区 二区 三区 久久精品 | 欧美在线色视频| 国产精品亚洲成人| 另类专区欧美蜜桃臀第一页| 夜夜亚洲天天久久| 国产精品久久久久aaaa樱花| 久久综合九色综合欧美亚洲| 4438x亚洲最大成人网| 色综合一个色综合亚洲| 亚洲视频在线一区| 国产日韩欧美麻豆| 欧美tk—视频vk| 91精品综合久久久久久| 欧美午夜电影网| 色婷婷久久一区二区三区麻豆| 国产大片一区二区| 国产一区 二区 三区一级| 美女视频一区二区三区| 日本亚洲免费观看| 丝袜亚洲另类丝袜在线| 丝袜美腿亚洲一区二区图片| 一区二区成人在线| 一区二区三区四区在线播放| 综合久久给合久久狠狠狠97色| 中文字幕久久午夜不卡| 国产亚洲成年网址在线观看| www欧美成人18+| 精品第一国产综合精品aⅴ| 正在播放一区二区| 欧美一区二区日韩| 日韩欧美国产精品一区| 91精品国产综合久久福利软件 | 一区免费观看视频| 国产精品的网站| 国产精品精品国产色婷婷| 国产精品久久久爽爽爽麻豆色哟哟| 国产日韩精品一区二区三区 | 日韩欧美一二三区| 678五月天丁香亚洲综合网| 欧美一区二区视频在线观看2020| 欧美日本乱大交xxxxx| 欧美嫩在线观看| 欧美一级午夜免费电影| 欧美不卡123| 国产日韩欧美一区二区三区综合 | 精品久久久久久久久久久院品网 | 国产欧美精品一区aⅴ影院| 久久综合网色—综合色88| 久久色视频免费观看| 亚洲国产岛国毛片在线| 亚洲日本青草视频在线怡红院| 亚洲免费观看高清完整| 亚洲二区在线观看| 卡一卡二国产精品| 粉嫩高潮美女一区二区三区 | 国产精品另类一区| 亚洲男人的天堂在线观看| 亚洲一区在线观看免费观看电影高清| 亚洲资源中文字幕| 日韩av一区二区三区四区| 狠狠色丁香九九婷婷综合五月| 大胆亚洲人体视频| 色综合天天天天做夜夜夜夜做| 欧美老年两性高潮| 国产日产欧美一区二区视频| 国产精品女主播av| 亚洲成人av一区| 国产精品久久久久久久蜜臀| 亚洲午夜久久久久久久久久久| 蜜桃久久久久久| 97精品久久久午夜一区二区三区 | 国产一区二区免费视频| 99视频精品免费视频| 91精品国产综合久久久蜜臀图片| 国产精品无码永久免费888| 一区二区三区鲁丝不卡| 国产一区二区在线视频| 欧美伊人精品成人久久综合97| 欧美大片拔萝卜| 亚洲精选免费视频| 国产美女久久久久| 欧美日韩不卡一区二区| 国产精品你懂的在线欣赏| 免费在线观看一区二区三区| 99re在线精品| 精品卡一卡二卡三卡四在线| 亚洲亚洲人成综合网络| 粉嫩嫩av羞羞动漫久久久| 欧美一区二区在线看| 亚洲日本乱码在线观看| 国产精品一区二区在线观看网站| 欧美手机在线视频| 国产精品久久久久毛片软件| 青草国产精品久久久久久| 91久久免费观看| 欧美韩日一区二区三区四区| 麻豆精品精品国产自在97香蕉 | 福利一区在线观看| 91精品国产欧美一区二区成人| 亚洲三级小视频| 风间由美性色一区二区三区| 日韩欧美你懂的| 日韩电影在线一区二区三区| 在线观看av一区| 亚洲人成网站影音先锋播放| 东方aⅴ免费观看久久av| 欧美精品一区二区三区一线天视频| 亚洲国产另类av| 91成人看片片| 亚洲久草在线视频| 色屁屁一区二区| 亚洲女人的天堂| 91在线你懂得| 亚洲三级理论片| 91视频你懂的| 亚洲免费观看视频| 色视频成人在线观看免| 一区二区三区 在线观看视频| 91免费视频大全| 欧美天天综合网| 亚洲国产乱码最新视频| 欧美高清视频一二三区| 日韩激情一区二区| 日韩美女视频一区二区在线观看| 欧美成人bangbros| 精品一区二区三区免费毛片爱| 日韩欧美一二三区| 国产精品综合一区二区| 久久久久久久久久久久久女国产乱| 国产精品1区二区.| 国产精品美女久久久久久久| av在线一区二区| 一区二区成人在线视频| 7777女厕盗摄久久久| 日本不卡中文字幕| 26uuu亚洲综合色| 成人午夜电影久久影院| 国产精品福利影院| 欧美性一区二区| 日本伊人色综合网| 久久理论电影网| 成人毛片老司机大片| 亚洲女人小视频在线观看| 欧美日韩一区二区三区四区 | 国产在线一区观看| 国产农村妇女毛片精品久久麻豆 | 国产成人综合亚洲91猫咪| 国产精品国产三级国产专播品爱网| 91亚洲大成网污www| 午夜精品一区二区三区电影天堂 | 91精品国产一区二区人妖| 极品尤物av久久免费看| 国产精品国产精品国产专区不蜜|