NTPサーバにパケットを送信する。以下のソースは、サンプル中の実際にNTPサーバから時刻情報を取得する部分です。このサンプルでは、タイムアウトを行うのにタイマーを使っています。"サーバ名が入力されていません。"Socketの作成に失敗しました。0){SocketError(hWnd,"サーバのIPアドレスの取得に失敗しました。FALSE){SocketError(hWnd,"Socketイベントを通知させる設定に失敗しました。FALSE){SocketError(hWnd,"送信に失敗しました。0){SocketError(hWnd,"サーバのIPアドレスの取得に失敗しました。FALSE){SocketError(hWnd,"Socketイベントを通知させる設定に失敗しました。FALSE){SocketError(hWnd,"送信に失敗しました。){SocketError(hWnd,"受信に失敗しました。NULL){MessageBox(hWnd,"時刻の取得に失敗しました。FALSE){MessageBox(hWnd,"時刻の設定に失敗しました。MB_ICONERROR);}else{MessageBox(hWnd,"NTPサーバの時刻に同期しました。0){SocketError(hWnd,"Socketイベントの通知でエラーが発生しました。*/SocketError(hWnd,"タイムアウトしました。sntpcex.exeこのプログラムはGUIベースで動作します。NTPサーバについては、http://www.ntp.org/を参照してください。TZ=JST-9の指定がないと9時間ずれた時刻になってしまいます。サンプルは、NTPサーバに時刻情報をリクエストしてから取得していますが、ブロードキャストしている時刻情報を取得する場合は、送信部分(sendto)とタイムアウト処理部分(タイマー)を削るとブロードキャストしている時刻情報を取得できるはずです。Programming。