Saya mencoba membuat program obrolan dengan java. saya berhasil ketika saya menggunakan ip 127.0.0.1 untuk terhubung.
Soket Soket = Soket baru ("127.0.0.1", 5005);
semuanya bekerja dengan baik di komputer saya dan program bahkan bekerja ketika saya mencoba untuk menghubungkan antara comupter saya dan leptop saya yang menggunakan router yang sama. (Saya melakukannya dengan menggunakan ip lokal.) Lalu saya ingin menghubungkan komputer yang menggunakan router lain dengan menggunakan ip eksternal. jadi saya membaca di web dan saya mengerti bahwa saya perlu forwad port saya melalui router saya. Saya punya router Siemens ADSL Sl2-141. saya forwad port 5005, dan program obrolan saya masih tidak berfungsi. saya mendapatkan kesalahan Sambungan Sambungan berulang-ulang. apakah saya melewatkan sesuatu?
Jawaban:
Pertama, sepertinya Anda mengonfigurasi kode Anda untuk mendengarkan di localhost saja dan bukan alamat eksternal. Gunakan koneksi soket seperti ini sebagai gantinya: (sesuai panduan ini )
EDIT (Diubah sesuai diskusi komentar di bawah):
Di mana
PUBLIC_IP_ADDR
alamat internet Anda menghadap yang dapat Anda temukan di siniJika Anda masih tidak dapat memperoleh koneksi, verifikasi bahwa program tersebut tersedia dan mendengarkan ...
Panduan untuk memeriksa port Anda
1) Jika Anda belum melakukannya, buka panduan ini dan pastikan Anda telah melakukan semua langkah.
2) Gunakan alat ini untuk mengonfirmasi port Anda benar-benar terbuka.
Jika # 2 gagal maka port Anda sebenarnya tidak terbuka. Apakah PC yang menerima koneksi aktif mendengarkan pada 5005?
Windows:
Linux:
Jika itu tidak memiliki "MENDENGARKAN" terdaftar di sampingnya maka aplikasi Anda tidak mendengarkan koneksi. Tapi saya tidak menduga ini menjadi masalah karena Anda bisa melakukannya di localhost.
Jika itu gagal maka konfirmasikan firewall OS Anda terbuka.
Hanya itu yang bisa saya pikirkan saat ini
sumber
0.0.0.0
Cukup berarti mendengarkan pada semua IP (saya percaya). Jika Anda memiliki file klien yang mencoba mengakses layanan pada port 5005,127.0.0.1
ia akan berusaha menemukan server Anda di komputer yang sama dengan tempat Anda terhubung. Ubah itu ke alamat IP publik Anda. Saya akan memperbarui jawabannya dengan detail.Apa yang dikatakan @Brian. Alamat internal Anda mungkin salah, jika program tidak berjalan. Coba ganti "127.0.0.1" dengan alamat internal ("10.whthing") dan kemudian jalankan dari komputer yang sama. Jika itu berhasil, baru Anda harus mencobanya dari komputer lain. Jika diblokir dari komputer lain pada subnet yang sama, maka kemungkinan Anda memiliki firewall perangkat lunak ("Windows Defender" atau semacamnya) yang memblokir koneksi eksternal.
Masalah ruang lingkup masih ada: jika Anda perlu bantuan mengkonfigurasi router Anda, Google dan kemudian superuser.com adalah tempat untuk bertanya. Jika Anda memerlukan bantuan dalam pemrograman, itulah gunanya situs ini.
sumber