Binanceにプライベートリクエストを行う際、リクエストのセキュリティを高めるためにメッセージは署名されます。メッセージはローカル時刻を取得して署名済みメッセージ内に送信します。ローカル時刻がBinanceサーバーと5秒を超える差がある場合、リクエストは拒否されます。そのため、ローカル時刻が同期されていることを確認することが重要です。これは、OSの時刻同期メソッドを使用して行うことができます。
ロジックは以下のとおりです:
if (timestamp < (serverTime + 1000) && (serverTime - timestamp) <= recvWindow) {
// process request
} else {
// reject request
}
recvWindow は 5000 以下の小さい値を使用することをお勧めします。最大値は 60000 ミリ秒を超えることはできません。
GetServerTimeメソッドを呼び出すことでBinanceサーバーの時刻を確認できます。これはBinanceサーバーの時刻を返します
RecvWindow のデフォルト値は 5000 です。この値はプロパティ REST_API.BinanceOptions.RecvWindow を使用して増やすことができます。