Artikel ini membagikan kode spesifik fungsi ruang obrolan soket java untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
Klien.java
impor java.io.*; impor java.net.*; impor java.util.*; klien kelas publik {port int public = 8083; Soket soket = null; public static void main (string [] args) {klien baru (); // Mulai Eksekusi} klien publik () {coba {socket = socket baru ("127.0.0.1", port); cthread baru (). start (); BufferedReader BR = BufferedReader baru (inputStreamReader baru (socket.getInputStream ())); String msg1; while ((msg1 = br.readline ())! = null) {System.out.println (msg1); }} catch (exception e) {}} class cthread memperluas thread {public void run () {coba {bufferedReader re = bufferedReader baru (inputStreamReader baru (System.in)); Printwriter pw = printwriter baru (socket.getoutputStream (), true); String msg2; while (true) {msg2 = re.readline (); pw.println (msg2); }} catch (Exception e) {e.printstacktrace (); }}}}Server.java
impor java.net.*; impor java.io.*; impor java.util.*; server kelas publik {int port; Daftar <socket> klien; Server server; server publik () {coba {port = 8083; Klien = Daftar ArrayList baru <Socket> (); server = server new (port); System.out.println ("Server Start"); int co = 1; while (true) {socket socket = server.accept (); klien.add (soket); Mythread mythread = mythread baru (socket, co); co ++; mythread.start (); }} catch (Exception ex) {System.out.println ("vv"); }} public static void main (string [] args) {baru server (); } class mythread memperluas utas {socket ssocket; Hitungan int pribadi; Private BufferedReader BR; printwriter pribadi PW; MSG string publik; mythread publik (soket S, int c) {ssocket = s; hitung = c; } public void run () {coba {br = new BufferedReader (inputStreamReader baru (ssocket.getInputStream ())); msg = "selamat datang [" + "klien" + count + "] ke ruang obrolan! Ruang obrolan saat ini memiliki [" + client.size () + "] people"; sendmsg (); while ((msg = br.readline ())! = null) {msg = "【" + "klien" + count + "] katakan:" + msg; sendmsg (); }} catch (Exception ex) {}} public void sendMSG () {try {System.out.println (msg); untuk (int i = client.size ()-1; i> = 0; i--) {pw = printwriter baru (client.get (i) .getOutputStream (), true); pw.println (msg); pw.flush (); }} catch (Exception ex) {}}}}Hasil Menjalankan:
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.