Cet article partage le code spécifique de la fonction de salle de chat Java Socket pour votre référence. Le contenu spécifique est le suivant
Client.java
importer java.io. *; importer java.net. *; import java.util. *; Client de classe publique {public int port = 8083; Douille à douille = null; public static void main (String [] args) {new Client (); // Démarrer l'exécution} public Client () {try {socket = new socket ("127.0.0.1", port); new cthread (). start (); BufferedReader br = new BufferedReader (new inputStreamReader (socket.getInputStream ())); Chaîne msg1; while ((msg1 = br.readline ())! = null) {System.out.println (msg1); }} catch (exception e) {}} class Cthread étend Thread {public void run () {try {buttereDaDer re = new BuffereDReader (new inputStreamReader (System.in)); Printwriter pw = new printwriter (socket.getOutputStream (), true); Chaîne msg2; while (true) {msg2 = re.readline (); pw.println (msg2); }} catch (exception e) {e.printStackTrace (); }}}}Server.java
importer java.net. *; importer java.io. *; import java.util. *; public class Server {int port; CLIENTS <SOCKET> CLIENTS; Serversocket Server; public server () {try {port = 8083; clients = new ArrayList <Socket> (); server = new serversocket (port); System.out.println ("Server démarré"); int co = 1; while (true) {socket socket = server.accept (); clients.add (socket); Mythread mythread = new mythread (socket, co); co ++; mythread.start (); }} catch (exception ex) {System.out.println ("vv"); }} public static void main (string [] args) {new server (); } class Mythread étend Thread {socket ssocket; Count int privé; Private BufferedReader BR; Printwriter privé PW; MSG de chaîne publique; public mythread (socket s, int c) {ssocket = s; count = c; } public void run () {try {br = new BufferedReader (new InputStreamReader (ssocket.getInputStream ())); MSG = "Welcome [" + "Client" + Count + "] dans la salle de chat! La salle de chat actuelle a [" + clients.size () + "] People"; sendmsg (); while ((msg = br.readline ())! = null) {msg = "【" + "client" + count + "] Say:" + msg; sendmsg (); }} catch (exception ex) {}} public void sendmsg () {try {System.out.println (msg); for (int i = clients.size () - 1; i> = 0; i--) {pw = new PrintWriter (clients.get (i) .getOutputStream (), true); pw.println (msg); pw.flush (); }} catch (exception ex) {}}}}Résultats en cours:
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.