TCP
Protokol TCP adalah berorientasi koneksi dan menjamin keandalan tinggi (data tanpa kehilangan, data tanpa gangguan, data tanpa kesalahan, dan data tanpa kedatangan duplikat).
TCP membuat koneksi melalui tiga jabat tangan. Koneksi harus dihapus saat komunikasi selesai. Karena TCP terhubung ke koneksi, itu hanya dapat digunakan untuk komunikasi ujung ke ujung.
Artikel ini terutama memperkenalkan konten Java yang relevan menggunakan TCP untuk mengimplementasikan obrolan sederhana. Ini dibagikan untuk referensi dan pembelajaran Anda. Saya tidak akan mengatakan banyak hal di bawah. Mari kita lihat perkenalan terperinci bersama -sama.
Kode sampel
Fungsi obrolan sederhana diimplementasikan menggunakan protokol TCP (sangat sederhana)
Pikiran: Gunakan 2 utas, satu utas digunakan untuk menerima pesan, dan utas lainnya digunakan untuk mengirim pesan.
Kode demo klien:
kelas publik sendDemo {public static void main (string [] args) melempar Exception {socket socket = socket baru (inetaddress.getLocalhost (), 8888); SendImpl sendImpl = sendImpl baru (soket); // Kirim utas utas baru (sendImpl) .start (); // menerima utas reciveImpl reciveImpl = reciveImpl baru (soket); utas baru (ReciveImpl) .start (); }}Kode demo sisi server:
Public Class ServerDemo {public static void main (String [] args) melempar Exception {serversocket serversocket = New ServerSocket (8888); Soket soket = serversocket.accept (); SendImpl sendImpl = sendImpl baru (soket); utas baru (sendImpl) .start (); ReciveImpl ReciveImpl = ReciveImpl baru (soket); utas baru (ReciveImpl) .start (); }}Kode demo untuk mengirim utas:
Kelas Publik SendImpl mengimplementasikan Runnable {Private Socket Socket; public sendImpl (soket soket) {this.socket = socket; // TODO Stub Konstruktor yang Dihasilkan Otomatis} @Override public void run () {Scanner Scanner = pemindai baru (System.in); while (true) {coba {outputStream outputStream = socket.getoutputStream (); String string = scanner.nextline (); outputStream.write (string.getBytes ()); } catch (ioException e) {// TODO AUTO-ENCEALATED Catch Block E.PrintStackTrace (); }}}}Kode demo untuk menerima utas:
kelas publik ReciveImpl mengimplementasikan runnable {soket soket pribadi; public reciveImpl (soket soket) {this.socket = socket; // TODO Stub Konstruktor yang Dihasilkan Otomatis} @Override public void run () {while (true) {coba {inputStream inputStream = socket.getInputStream (); byte [] b = byte baru [1024]; int len = inputStream.read (b); System.out.println ("Pesan diterima:"+string baru (b, 0, len)); } catch (ioException e) {// TODO AUTO-ENCEALATED Catch Block E.PrintStackTrace (); }}}}Meringkaskan
Di atas adalah seluruh konten artikel ini. Saya berharap konten artikel ini memiliki nilai referensi tertentu untuk studi atau pekerjaan semua orang. Jika Anda memiliki pertanyaan, Anda dapat meninggalkan pesan untuk berkomunikasi. Terima kasih atas dukungan Anda ke wulin.com.