0
点赞
收藏
分享

微信扫一扫

Java网络编程Demo,使用TCP 实现简单群聊功能GroupchatSimple,多个客户端输入消息,显示在服务端的控制台

SDKB英文 2022-02-23 阅读 56


效果:

服务端

Java网络编程Demo,使用TCP 实现简单群聊功能GroupchatSimple,多个客户端输入消息,显示在服务端的控制台_socket

客户端

Java网络编程Demo,使用TCP 实现简单群聊功能GroupchatSimple,多个客户端输入消息,显示在服务端的控制台_客户端_02

Java网络编程Demo,使用TCP 实现简单群聊功能GroupchatSimple,多个客户端输入消息,显示在服务端的控制台_socket_03

实现代码:

服务端

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class SocketServer {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(8888);
System.out.println("群聊聊天室开启...");
//定义初始上线人数为0
int i=0;
while (true) {
Socket socket = server.accept();
i++;
System.out.println("上线通知:"+socket.getInetAddress()+":"+socket.getPort());
//读(使用多线程实现读的功能)
new Thread(new ServerThread(socket)).start();
System.out.println("目前上线人数"+i+"人");
}
}
}

线程类

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;

public class ServerThread implements Runnable{
public Socket socket;

public ServerThread(Socket socket) {
super();
this.socket = socket;
}

@Override
public void run() {
// TODO Auto-generated method stub
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while (true) {
String readLine = bufferedReader.readLine();
System.out.println(readLine);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

客户端

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class SocketClient {
public static void main(String[] args) throws UnknownHostException, IOException {
Socket socket = new Socket("127.0.0.1",8888);
System.out.println("您好吕布,您已经上线了");
//构建从控制台输入的输入流
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//构建从客户端输出的输出流
PrintWriter pw=new PrintWriter(socket.getOutputStream());
while (true) {
pw.println("吕布说:"+br.readLine());
pw.flush();
}
}
}



举报

相关推荐

0 条评论