บทความนี้แบ่งปันรหัสเฉพาะของ Java Socket Room Function สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
client.java
นำเข้า Java.io.*; นำเข้า Java.net.*; นำเข้า Java.util.*; ไคลเอนต์คลาสสาธารณะ {พอร์ตสาธารณะสาธารณะ = 8083; ซ็อกเก็ตซ็อกเก็ต = null; โมฆะคงที่สาธารณะหลัก (สตริง [] args) {ไคลเอนต์ใหม่ (); // เริ่มดำเนินการ} ไคลเอนต์สาธารณะ () {ลอง {ซ็อกเก็ต = ซ็อกเก็ตใหม่ ("127.0.0.1", พอร์ต); ใหม่ cthread (). start (); bufferedReader br = ใหม่ bufferedReader (ใหม่ inputStreamReader (socket.getInputStream ())); สตริง MSG1; ในขณะที่ ((msg1 = br.readline ())! = null) {system.out.println (msg1); }} catch (Exception E) {}} คลาส CThread ขยายเธรด {public void run () {ลอง {bufferederer re = ใหม่ bufferedReader (ใหม่ inputStreamReader (system.in)); PrintWriter PW = New PrintWriter (Socket.GetOutputStream (), TRUE); สตริง msg2; ในขณะที่ (จริง) {msg2 = re.readline (); Pw.Println (msg2); }} catch (exception e) {e.printstacktrace (); -Server.java
นำเข้า Java.net.*; นำเข้า Java.io.*; นำเข้า Java.util.*; เซิร์ฟเวอร์คลาสสาธารณะ {พอร์ต int; รายการ <ซ็อกเก็ต> ลูกค้า; เซิร์ฟเวอร์เซิร์ฟเวอร์; เซิร์ฟเวอร์สาธารณะ () {ลอง {พอร์ต = 8083; clients = new ArrayList <ซ็อกเก็ต> (); Server = ใหม่ Serversocket (พอร์ต); System.out.println ("เซิร์ฟเวอร์เริ่มต้น"); int co = 1; ในขณะที่ (จริง) {ซ็อกเก็ตซ็อกเก็ต = server.accept (); clients.add (ซ็อกเก็ต); MYTHREAD MYTHREAD = NEW MYTHREAD (SOCKET, CO); CO ++; mythread.start (); }} catch (Exception Ex) {System.out.println ("VV"); }} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {เซิร์ฟเวอร์ใหม่ (); } คลาส MyThread ขยายเธรด {ซ็อกเก็ต ssocket; จำนวน int ส่วนตัว; BufferedReader ส่วนตัว BR; Private Printwriter PW; Public String MSG; Public Mythread (ซ็อกเก็ต s, int c) {ssocket = s; นับ = C; } โมฆะสาธารณะเรียกใช้ () {ลอง {br = ใหม่ bufferedReader (ใหม่ inputStreamReader (ssocket.getInputStream ())); msg = "ยินดีต้อนรับ [" + "ไคลเอนต์" + count + "] ลงในห้องแชท! ห้องแชทปัจจุบันมี [" + clients.size () + "] คน"; sendmsg (); ในขณะที่ ((msg = br.readline ())! = null) {msg = "【" + "ไคลเอนต์" + count + "] พูดว่า:" + msg; sendmsg (); }} catch (exception ex) {}} โมฆะสาธารณะ sendmsg () {ลอง {system.out.println (msg); สำหรับ (int i = clients.size ()-1; i> = 0; i--) {pw = printwriter ใหม่ (client.get (i) .getOutputStream (), จริง); pw.println (ผงชูรส); pw.flush (); }} catch (Exception ex) {}}}}ผลการทำงาน:
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น