تشارك هذه المقالة الكود ذي الصلة لـ Java لتنفيذ وظيفة غرفة الدردشة TCPSOCKE للرجوع إليها. المحتوى المحدد كما يلي
1.tcpserver.java
استيراد java.net.*؛ استيراد java.io.*؛ استيراد java.util.*؛ استيراد java.util.concurrent.*؛ فئة عامة tcpserver {private static final serverport = 8888 ؛ ServerSocket MyServer = NULL ؛ قائمة خاصة <Socket> العملاء = جديد ArrayList <Socket> () ؛ Secorrosorservice mexecutorservice ؛ public tcpserver () {try {myServer = new ServersOcket (serverport) ؛ mexecutorservice = Executors.NewCacheDthReadPool () ؛ system.out.println ("start:") ؛ مقبس mysocket = فارغة ؛ بينما (صحيح) {mySocket = myserver.accept () ؛ العملاء. add (mySocket) ؛ mexecutorservice.execute (threadserver جديد (mySocket)) ؛ }} catch (استثناء e) {E.PrintStackTrace () ؛ System.exit (0) ؛ }} class threadserver تنفذ runnable {private socket msocket = null ؛ BufferedReader الخاص في = فارغ ؛ printwriter الخاص خارج = فارغة ؛ سلسلة خاصة MSTRMSG = فارغة ؛ public threadServer (Socket Socket) {try {this.mssocket = socket ؛ في = جديد BufferedReader (New InputStreamReader (mssocket.getInputStream () ، "GB2312")) ؛ MSTRMSG = "user:" + msocket.getInetAddress () + "تعال إلى المجموع:" + clients.size () ؛ sendMassage () ؛ } catch (ioException e) {system.out.println ("Erorr") ؛ System.exit (0) ؛ }} private void sendMassage () {try {system.out.println (mstrmsg) ؛ لـ (socket mysocket: clients) {out = new printWriter (new OutputStreamWriter (mysocket.getOutputStream () ، "gb2312") ، true) ؛ Out.println (MSTRMSG) ؛ }} catch (ioException e) {system.out.println ("erorr") ؛ System.exit (0) ؛ }} public void run () {try {while ((mstrmsg = in.readline ())! = null) {if (mstrmsg.trim (). equals ("exit")) {clients.remove (msocket) ؛ in.close () ؛ out.close () ؛ MSTRMSG = "user:" + msocket.getInetAddress () + "exit taxal:" + clients.size () ؛ ؛ msocket.close () ؛ sendMassage () ؛ استراحة؛ } else {mstrmsg = msocket.getInetAddress () + ":" + mSTRMSG ؛ sendMassage () ؛ }}} catch (ioException e) {system.out.println ("erorr") ؛ System.exit (0) ؛ }}} public static void main (string [] args) {new tcpserver () ؛ }} 2.tcpclient.java
استيراد java.net.*؛ import java.io.*؛ import java.util.concurrent.*؛ public class tcpclient {private static final port = 8888 ؛ عميل المقبس الخاص = فارغ ؛ Bufferredreader الخاص Sin = NULL ؛ من القطاع الخاص public tcpclient () {try {client = new Socket ("120.27.126.174" ، port) ؛ SIN = جديد BufferedReader (New InputStreamReader (client.getInputStream () ، "GB2312")) ؛ mexecutorservice = Executors.NewCacheDthReadPool () ؛ mexecutorservice.execute (new threadclient (client)) ؛ سلسلة msg = null ؛ بينما ((msg = sin.readline ())! = null) {system.out.println (msg) ؛ }} catch (ioException e) {system.out.println (e.getMessage ()) ؛ }} class threadclient يمتد مؤشر الترابط {socket private msocket = null ؛ سلسلة خاصة msg = null ؛ BufferedReader في = فارغة ؛ printWriter Out = null ؛ public threadClient (Socket Socket) {this.msocket = socket ؛ } public void run () {try {in = new BufferEdReader (new inputStreamReader (system.in)) ؛ Out = new printWriter (New OutputStreamWriter (msocket.getOutputStream () ، "GB2312") ، True) ؛ بينما (صواب) {msg = in.ReadLine () ؛ Out.println (msg) ؛ if (msg.trim (). يساوي ("exit")) {in.close () ؛ out.close () ؛ mexecutorservice.shutdownnow () ؛ استراحة؛ }}} catch (ioException e) {system.out.println ("See You") ؛ System.exit (0) ؛ }}} public static void main (string [] args) {new tcpclient () ؛ }}ما سبق هو رمز Java لتنفيذ وظيفة غرفة الدردشة TCPSOCKET. آمل أن يكون ذلك مفيدًا لتعلم الجميع.