Tertanam C — periksa koneksi internet

8

Apakah ada cara untuk memeriksa apakah sebenarnya perangkat saya yang tertanam memiliki koneksi yang berfungsi (yaitu dapat mencapai WAN)? Perangkat saya tidak memiliki RTOS, jadi saya tidak bisa mengandalkan fungsi OS seperti ping. Saya dapat melihat bahwa DHCP memberikan IP yang benar untuk perangkat saya, tetapi tidak 100% benar karena diberi IP yang benar, saya kemudian dapat menjangkau misalnya www.google.com.

Saya sudah melakukan riset, dan ada beberapa pendekatan:

  1. tidak mungkin
  2. itu pertanyaan bodoh
  3. solusi dari segala jenis, tapi saya merasa percaya diri sehubungan dengan SO jadi saya akan mencobanya.

Jadi, jika pertanyaan ini memiliki 1) atau 2) sebagai balasan, saya akan menghapusnya dan tidak apa-apa.

panc_fab
sumber
Untuk apa Anda menggunakan perangkat ini? Apakah cek koneksi internet untuk memverifikasi koneksi berfungsi ketika fungsi utama Anda entah bagaimana tidak?
Helmar
@Helmar saya perlu memastikan bahwa koneksi internet berfungsi karena saya perlu mengakses perangkat dari internet dan bertukar data dengannya
panc_fab
1
Saya tidak yakin saya mengerti apa yang Anda coba lakukan. Tujuan Anda adalah mengakses perangkat kapan saja dari internet dari jarak jauh, benar? Jadi Anda sudah memiliki komponen aktif di bawah kendali Anda di internet. Mengapa Anda tidak mencoba menjangkau komponen itu dan melakukan apa pun yang Anda rencanakan untuk membangun kembali konektivitas jika itu gagal?
Helmar
Ya, saya berasumsi bahwa apa yang Anda katakan bisa menjadi hal yang paling cerdas untuk dilakukan ... kadang-kadang saya kehilangan diri saya dalam masalah yang bukan masalah, saya cukup baru di lingkungan tertanam dan saya mudah bingung. Terima kasih! Saya akan mengirim jawaban nanti untuk menutup pertanyaan.
panc_fab

Jawaban:

4

Terima kasih kawan atas dukungannya. Saya akhirnya menggunakan metode yang dijelaskan oleh Helmar di mana saya hanya mencoba untuk mencapai target yang diinginkan dan melihat. Jika saya dapat memperoleh balasan dari target, saya tahu bahwa koneksi saya hidup dan berfungsi, jika tidak saya berhasil memutuskan perangkat dan mencoba lagi dengan koneksi baru.

panc_fab
sumber
3

Saya tidak bisa mengandalkan fungsi OS seperti ping.

Lakukan ping sendiri. Anda mungkin dapat menemukan contoh untuk platform Anda.

Atau hubungi beberapa layanan melalui beberapa protokol lain yang dapat Anda dukung; hanya saja jangan berasumsi bahwa layanan akan tetap tersedia untuk seumur hidup perangkat, kecuali jika server yang Anda kelola.

Saya perlu mengakses perangkat dari internet dan bertukar data dengannya

Jika tujuan Anda sebenarnya adalah untuk mengizinkan lalu lintas masuk , umumnya itu adalah ide yang buruk dan sulit bagi pengguna akhir untuk memungkinkan jaringan mereka untuk mengizinkan. Alih-alih, Anda biasanya membuat / memelihara koneksi keluar ke server di mana ia bisa membuat terowongan atau menyampaikan lalu lintas masuk yang diperiksa untuk perangkat Anda. Anda dapat dengan mudah melengkapi kode yang membuat / memelihara / menghubungkan kembali terowongan ini dengan mekanisme keluaran untuk menunjukkan kesehatannya.

Chris Stratton
sumber