⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chatmulticlient.java

📁 在Dos下可运行的多人聊天系统
💻 JAVA
字号:
import java.io.*;
import java.net.*;

public class ChatMultiClient
//类MultiClient是多客户机制的客户端程序
{
     public static void main(String args[])
     {
          try
          //由于Socket的生成和关闭都有可能产生错误,因此需要进行异常处理
          {
               Socket linksocket = new Socket("127.0.0.1", 60000);
               //生成一个Socket对象linksocket,连接到本地机器上的60000端口
               System.out.println("This is client. Congratulations!");
               System.out.println("You have connected to Server!");
               InputStreamReader streamfromkeyboard = new InputStreamReader(System.in);
               //生成InputStreamReader类对象streamfromkeyboard,将客户端的键盘输入System.in作为参数构造该对象
               BufferedReader bufferobject1 = new BufferedReader(streamfromkeyboard);
               //使用上面的InputStreamReader类的对象streamfromkeyboard生成BufferedReader类的对象bufferobject1
               PrintWriter outputstream = new PrintWriter(linksocket.getOutputStream());
               //通过socket对象的getOutputStream()方法获得的OutputStream对象,并用它创建PrintWriter类的对象
               BufferedReader bufferobject2 = new BufferedReader(new InputStreamReader(linksocket.getInputStream()));
               //根据socket获得的输入流创建BufferedReader类对象,使得读取数据的效率提高
               String readlinestring;
               //生成字符串变量readlinestring,用于存放客户端输入的一行字符串
               readlinestring = bufferobject1.readLine();
               //将客户端输入的一行字符串放入字符串变量readlinestring中
               while(!readlinestring.equals("Good bye!"))
               {
                    outputstream.println(readlinestring);
                    //在服务器端将客户端输入的字符串输出
                    outputstream.flush();
                    //在服务器端强制输出客户端的输入字符串
                    System.out.println("Client -> Server: " + readlinestring);
                    //在客户端输出自己输入的字符串
                    System.out.println("Server -> Client: " + bufferobject2.readLine());
                    //在客户端输出服务器端输入的字符串
                    readlinestring = bufferobject1.readLine();
               }
               outputstream.close();
               //关闭socket的输出流
               bufferobject2.close();
               //关闭socket的输入流
               linksocket.close();
               //关闭socket
          }
          catch(Exception e)
          {
               System.out.println("错误:" + e);
          }
     }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -