1. Dua masalah utama dalam pemrograman jaringan
Salah satunya adalah bagaimana menemukan satu atau lebih host secara akurat di jaringan, dan yang lainnya adalah bagaimana cara mengirimkan data secara andal dan efisien setelah menemukan host.
Dalam protokol TCP/IP, lapisan IP terutama bertanggung jawab atas lokasi host jaringan dan perutean transmisi data. Alamat IP dapat secara unik menentukan host di internet.
Lapisan TCP menyediakan mekanisme transmisi data yang andal (TCP) atau tidak dapat diandalkan (UDP) untuk aplikasi, yang merupakan objek utama pemrograman jaringan, dan umumnya tidak perlu peduli tentang bagaimana lapisan IP memproses data.
Model pemrograman jaringan yang paling populer saat ini adalah struktur klien/server (C/S). Artinya, salah satu pihak komunikasi bertindak sebagai server untuk menunggu pelanggan untuk mengirimkan permintaan dan merespons. Pelanggan berlaku untuk server saat layanan diperlukan. Server umumnya selalu berjalan sebagai daemon, mendengarkan port jaringan. Setelah pelanggan memintanya, itu akan memulai proses layanan untuk menanggapi pelanggan, dan pada saat yang sama terus mendengarkan port layanan itu sendiri sehingga pelanggan kemudian juga dapat memperoleh layanan tepat waktu.
2. Dua jenis protokol transmisi: TCP/UDP
TCP adalah singkatan dari protokol kontrol transfer, protokol berorientasi koneksi yang memastikan transmisi yang andal. Transmisi melalui protokol TCP menghasilkan urutan aliran data bebas kesalahan. Koneksi harus dibuat antara dua pasang soket pengirim dan penerima untuk berkomunikasi berdasarkan protokol TCP. Ketika satu soket (biasanya soket server) sedang menunggu untuk membuat koneksi, soket lainnya dapat memerlukan koneksi. Setelah kedua soket ini terhubung, mereka dapat melakukan transmisi data dua arah, dan kedua belah pihak dapat melakukan operasi pengiriman atau penerima.
UDP adalah singkatan dari protokol datagram pengguna. Ini adalah protokol tanpa koneksi. Setiap datagram adalah informasi independen, termasuk sumber lengkap atau alamat tujuan. Ini ditransmisikan ke tujuan di jaringan dengan jalur apa pun yang mungkin. Oleh karena itu, apakah dapat mencapai tujuan, waktu untuk mencapai tujuan, dan kebenaran konten tidak dapat dijamin.
Membandingkan:
UDP:
1. Setiap datagram memberikan informasi alamat lengkap, sehingga tidak perlu membuat koneksi antara pengirim dan penerima.
2. Ada batas ukuran ketika DP mengirimkan data, dan setiap datagram yang dikirim harus dibatasi hingga 64kb.
3. DP adalah protokol yang tidak dapat diandalkan, dan datagram yang dikirim oleh pengirim tidak harus tiba di penerima dalam urutan yang sama.
TCP:
1. Untuk menghubungkan ke protokol koneksi, koneksi harus ditetapkan sebelum transmisi data antar soket, sehingga waktu koneksi diperlukan dalam TCP.
2. Batas ukuran data transmisi CP. Setelah koneksi dibuat, soket kedua belah pihak dapat mengirimkan data besar dalam format terpadu.
3.CP adalah protokol yang andal yang memastikan bahwa penerima benar -benar memperoleh semua data yang dikirim oleh pengirim.
aplikasi:
1. TCP memiliki vitalitas yang sangat kuat dalam komunikasi jaringan. Misalnya, koneksi jarak jauh (telnet) dan transfer file (FTP) memerlukan data dengan panjang yang bervariasi untuk ditransmisikan secara andal. Namun, transmisi yang andal datang dengan biaya. Verifikasi kebenaran konten data pasti akan menempati waktu pemrosesan komputer dan bandwidth jaringan. Oleh karena itu, efisiensi transmisi TCP tidak setinggi UDP.
2. UDP mudah dioperasikan dan hanya membutuhkan lebih sedikit pengawasan, sehingga biasanya digunakan dalam aplikasi klien/server dalam sistem terdistribusi dengan keandalan tinggi dalam LAN. Misalnya, sistem konferensi video tidak memerlukan kebenaran absolut dari data audio dan video, selama konsistensi dijamin, jelas lebih masuk akal untuk menggunakan UDP dalam kasus ini.
3. Pemrograman Jaringan Java Berbasis Soket
1. Apakah itu soket
Dua program di jaringan mewujudkan pertukaran data melalui koneksi komunikasi dua arah. Salah satu ujung tautan dua arah ini disebut soket. Soket biasanya digunakan untuk terhubung antara pelanggan dan penyedia layanan. Socket adalah antarmuka pemrograman yang sangat populer dari protokol TCP/IP. Soket ditentukan secara unik oleh alamat IP dan nomor port.
Namun, jenis protokol yang didukung oleh soket tidak hanya TCP/IP, jadi tidak ada koneksi yang diperlukan antara keduanya. Di lingkungan Java, pemrograman soket terutama mengacu pada pemrograman jaringan berdasarkan protokol TCP/IP.
2. Proses Komunikasi Ocket
Sisi server mendengarkan (mendengarkan) apakah ada permintaan koneksi pada port tertentu. Sisi klien mengeluarkan permintaan koneksi ke sisi server, dan sisi server mengirim pesan menerima kembali ke sisi klien. Koneksi dibuat. Sisi server dan klien dapat berkomunikasi satu sama lain melalui Metode Kirim, Tulis, dan lainnya.
Untuk soket yang berfungsi penuh, itu harus mencakup struktur dasar berikut, dan proses kerjanya mencakup empat langkah dasar berikut:
(1) Buat soket;
(2) buka input/outflow yang terhubung ke soket;
(3) membaca/menulis soket sesuai dengan protokol tertentu;
(4) Tutup soket.
3. Bangun soket
Buat soket
Java menyediakan dua kelas soket dan server di paket java.net, yang digunakan untuk mewakili klien dan server untuk koneksi dua arah. Ini adalah dua kelas yang dikemas dengan sangat baik dan sangat mudah digunakan. Metode konstruksi adalah sebagai berikut:
Soket (alamat inetaddress, int port);
Soket (alamat inetaddress, int port, boolean stream);
Soket (host string, int prot);
Soket (host string, int prot, boolean stream);
Soket (SocketImpl IMP)
Soket (host string, port int, localaddr inetaddress, int localport)
Soket (alamat inetaddress, int port, inetaddress localaddr, int localport)
Serversocket (int port);
Serversocket (int port, int backlog);
ServerSocket (int port, int backlog, inetaddress bindaddr)
Alamat, host, dan port adalah alamat IP, nama host, dan nomor port dari pihak lain masing -masing dalam koneksi dua arah. Aliran menunjukkan apakah soketnya adalah soket aliran atau soket datagram. Localport menunjukkan nomor port host lokal. LocalAddr dan Bindaddr adalah alamat mesin lokal (alamat host server). IMP adalah kelas induk dari soket. Ini dapat digunakan untuk membuat server dan membuat soket. Hitungan mewakili jumlah maksimum koneksi yang dapat didukung server. Misalnya:
Klien soket = soket baru ("127.0.0.1", 8888);
Server server = server baru (8888);
Perhatikan bahwa Anda harus berhati -hati saat memilih port. Setiap port menyediakan layanan tertentu. Hanya dengan memberikan port yang benar dapat diperoleh layanan yang sesuai. Nomor port dari 0 ~ 1023 dicadangkan oleh sistem. Misalnya, nomor port dari layanan HTTP adalah 80, nomor port dari layanan telnet adalah 21, dan nomor port dari layanan FTP adalah 23. Oleh karena itu, ketika kami memilih nomor port, yang terbaik adalah memilih angka yang lebih besar dari 1023 untuk mencegah konflik.
Jika kesalahan terjadi saat membuat soket, iOException akan dihasilkan dan harus diproses dalam program. Jadi saat membuat soket atau server, perlu untuk menangkap atau melempar pengecualian.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.