国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

Java Socket通信之聊天室功能

2024-07-13 10:14:44
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Java Socket聊天室功能的具體代碼,供大家參考,具體內容如下

Client.java

import java.io.*; import java.net.*; import java.util.*;  public class Client {  public int port = 8083;  Socket socket = null;   public static void main(String[] args) {   new Client(); //開始執行  }   public Client() {    try {    socket = new Socket("127.0.0.1", port);    new Cthread().start();     BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));    String msg1;    while ((msg1 = br.readLine()) != null) {     System.out.println(msg1);    }   } catch (Exception e) {   }  }   class Cthread extends Thread {    public void run() {    try {      BufferedReader re = new BufferedReader(new InputStreamReader(System.in));     PrintWriter pw = new PrintWriter(socket.getOutputStream(), true);     String msg2;      while (true) {       msg2 = re.readLine();      pw.println(msg2);     }    } catch (Exception e) {     e.printStackTrace();    }    }  }  } 

Server.java

import java.net.*; import java.io.*; import java.util.*;  public class Server {   int port;   List<Socket> clients;   ServerSocket server;   public Server() {     try {       port = 8083;       clients = new ArrayList<Socket>();       server = new ServerSocket(port);       System.out.println("服務器已啟動");       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 extends Thread {     Socket ssocket;     private int count;     private BufferedReader br;     private PrintWriter pw;     public String msg;      public Mythread(Socket s,int c) {       ssocket = s;       count=c;     }      public void run() {        try {         br = new BufferedReader(new InputStreamReader(ssocket.getInputStream()));                  msg = "歡迎【" +"Client "+count + "】進入聊天室!當前聊天室有【" + clients.size() + "】人";          sendMsg();          while ((msg = br.readLine()) != null) {                      msg = "【" +"Client "+count + "】說:" + 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) {       }     }   }  } 

運行結果:

Java,Socket,聊天室

Java,Socket,聊天室

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 漳平市| 祁门县| 青河县| 民权县| 阿巴嘎旗| 金华市| 吉林省| 化州市| 穆棱市| 古蔺县| 镇赉县| 冀州市| 肇州县| 二手房| 汾西县| 涞水县| 托克逊县| 静宁县| 万山特区| 民权县| 麻栗坡县| 新乡县| 潜山县| 合水县| 灵寿县| 吉水县| 马龙县| 峨眉山市| 民丰县| 宁河县| 三门峡市| 富裕县| 伊金霍洛旗| 凤山县| 隆子县| 锦州市| 广州市| 白河县| 大同县| 九龙县| 定边县|