บทความนี้แบ่งปันรหัสที่เกี่ยวข้องสำหรับ Java เพื่อใช้ฟังก์ชั่นห้องแชท TCPSocket สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
1.TCPSERVER.JAVA
นำเข้า java.net.*; นำเข้า java.io.*; นำเข้า java.util.*; นำเข้า java.util.concurrent.*; คลาสสาธารณะ tcpserver {ส่วนตัวคงที่ส่วนตัว int serverport = 8888; เซิร์ฟเวอร์ส่วนตัว MyServer = NULL; รายการส่วนตัว <OCKET> clients = new ArrayList <Socket> (); ผู้บริหารส่วนตัว Mexecutorservice; public tcpserver () {ลอง {myServer = ใหม่ serversocket (Serverport); mexecutorservice = executors.newcachedthreadpool (); System.out.println ("เริ่มต้น:"); ซ็อกเก็ต mysocket = null; ในขณะที่ (จริง) {mysocket = myserver.accept (); clients.add (mysocket); mexecutorservice.execute (ThreadServer ใหม่ (MySocket)); }} catch (exception e) {e.printstacktrace (); System.Exit (0); }} คลาส ThreadServer ใช้ runnable {ซ็อกเก็ตส่วนตัว msocket = null; BufferedReader ส่วนตัวใน = null; Private PrintWriter Out = NULL; สตริงส่วนตัว mstrmsg = null; Public Threadserver (ซ็อกเก็ตซ็อกเก็ต) {ลอง {this.mssocket = ซ็อกเก็ต; ใน = ใหม่ bufferedReader (ใหม่ inputStreamReader (mssocket.getInputStream (), "GB2312")); mstrmsg = "ผู้ใช้:" + msocket.getInetAddress () + "มารวม:" + clients.size (); sendmassage (); } catch (ioexception e) {system.out.println ("erorr"); System.Exit (0); }} โมฆะส่วนตัว sendmassage () {ลอง {system.out.println (mstrmsg); สำหรับ (ซ็อกเก็ต MySocket: ไคลเอนต์) {out = new PrintWriter (ใหม่ OutputStreamWriter (mysocket.getOutputStream (), "GB2312"), จริง); out.println (mstrmsg); }} catch (ioexception e) {system.out.println ("erorr"); System.Exit (0); }} โมฆะสาธารณะเรียกใช้ () {ลอง {ในขณะที่ ((mstrmsg = in.readline ())! = null) {ถ้า (mstrmsg.trim (). เท่ากับ ("ออก")) {remove (msocket); in.close (); out.close (); mstrmsg = "ผู้ใช้:" + msocket.getInetAddress () + "ออกจากภาษี:" + clients.size (); - msocket.close (); sendmassage (); หยุดพัก; } else {mstrmsg = msocket.getInetAddress () + ":" + mstrmsg; sendmassage (); }}} catch (ioexception e) {system.out.println ("erorr"); System.Exit (0); }}} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {tcpserver ใหม่ (); - 2.TCPClient.java
นำเข้า java.net.*; นำเข้า java.io.*; นำเข้า java.util.concurrent.*; คลาสสาธารณะ tcpClient {พอร์ต int สุดท้ายคงที่ส่วนตัว = 8888; ซ็อกเก็ตไคลเอนต์ส่วนตัว = null; bufferedreader ส่วนตัว sin = null; ผู้บริหารส่วนตัว Mexecutorservice; public tcpClient () {ลอง {client = ซ็อกเก็ตใหม่ ("120.27.126.174", พอร์ต); SIN = ใหม่ bufferedReader (ใหม่ inputStreamReader (client.getInputStream (), "GB2312")); mexecutorservice = executors.newcachedthreadpool (); mexecutorservice.execute (ThreadClient ใหม่ (ไคลเอนต์)); สตริง msg = null; ในขณะที่ ((msg = sin.readline ())! = null) {system.out.println (msg); }} catch (ioexception e) {system.out.println (e.getMessage ()); }} คลาส ThreadClient ขยายเธรด {ซ็อกเก็ตส่วนตัว msocket = null; สตริงส่วนตัว MSG = NULL; bufferedReader ใน = null; printwriter out = null; Public ThreadClient (ซ็อกเก็ตซ็อกเก็ต) {this.msocket = ซ็อกเก็ต; } โมฆะสาธารณะเรียกใช้ () {ลอง {in = ใหม่ bufferedReader (ใหม่ inputStreamReader (system.in)); out = new printWriter (ใหม่ outputStreamWriter (msocket.getOutputStream (), "GB2312"), จริง); ในขณะที่ (จริง) {msg = in.readline (); out.println (ผงชูรส); if (msg.trim (). เท่ากับ ("ออก")) {in.close (); out.close (); mexecutorservice.shutdownnow (); หยุดพัก; }}} catch (ioexception e) {system.out.println ("เห็นคุณ"); System.Exit (0); }}} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {tcpClient ใหม่ (); -ด้านบนเป็นรหัสสำหรับ Java ในการใช้ฟังก์ชั่นห้องแชท TCPSocket ฉันหวังว่ามันจะเป็นประโยชน์กับการเรียนรู้ของทุกคน