指定したIPアドレスにPINGを送信します。

構文

int SyncPing(
  unsigned int ipAddress, 
  unsigned char ttl, 
  int *rtt
);

パラメータ

ipAddress
[in] IPアドレスを指定します。
sock
[in] TLを指定します。
rtt
[out] ラウンドトリップタイムを受け取るポインタを指定します。

戻り値

 関数は下記の値が返却されます。
説明
PING_ERR_SUCCESS PINGの成功
PING_ERR_FAIL 不正な引数
PING_ERR_TIMEOUT PINGのタイムアウト
PING_ERR_DEST_UNREACH PINGが未到達
PING_ERR_WRONG_RESPONSE 指定と異なるネットワークデバイスからのPINGを受信

解説

 指定したIPアドレスにPINGを送信します。
 約5秒でタイムアウトします。

必要条件

ヘッダファイル:
lib.h
ライブラリファイル:
libSTARTUPOPH5000.a

サンプル

#include <stdio.h>
#include "lib.h"

void main(void)
{
    int ret;
	int i;
    int connectStatus = SYS_WLAN_STATUS_UNAVAILABLE;
    unsigned int hostIp = nmi_inet_addr("192.168.0.1");
	char *ipAddress;
	unsigned char ttl = 128;
	unsigned int rtt;
    ret = SysWLANInit(NULL);
   	while (connectStatus != SYS_WLAN_STATUS_CONNECTED)
    {
        ret = SysGetWLANConnectStatus(&connectStatus);
        Idle();
    }
   	for (i = 0; i < 4; i++)
   	{
   	    ret = SyncPing(hostIp, ttl, &rtt);
   	   	printf("SyncPing(%x,%d,%p):\n\r", hostIp, ttl, &rtt);
   	   	ipAddress = (char *)&hostIp;
   	   	printf("IP:%u.%u.%u.%u\n\r", ipAddress[0], ipAddress[1], ipAddress[2], ipAddress[3]);
   	   	printf("ret=%d,ttl=%d,rtt=%d\n\r", ret, ttl, rtt);
   	   	Idle();
   	}
   	while(1)
    	  Idle();
}

最終更新日:2020/09/25