java基础实现聊天室功能,群聊,私聊(UTP,读写流,ServerSocket,Socket运用)
1.消息发送工具代码
package com.liangrui.chatPlace;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
public class SendUtil implements Runnable {
private BufferedReader bufferedReader;
private DataOutputStream dataOutputStream;
private Socket client;
private boolean whetherRunning;
private String name;
public SendUtil(Socket client,String name){
this.client=client;
this.name=name;
this.whetherRunning=true;
bufferedReader=new BufferedReader(new InputStreamReader(System.in));
try {
dataOutputStream=new DataOutputStream(client.getOutputStream());
send(name);
} catch (IOException e) {
e.printStackTrace();
release();
}
}
@Override
public void run() {
while (whetherRunning){
String msg=getMsgFromConsole();
send(msg);
if ("bye".equals(msg)){
release();
}
}
}
private void send(String msg){
try {
dataOutputStream.writeUTF(msg);
dataOutputStream.flush();
} catch (IOException e) {
e.printStackTrace();
release();
}
}
private void release(){
this.whetherRunning=false;
ReleaseUtil.release(bufferedReader,dataOutputStream,client);
}
private String getMsgFromConsole(){
try {
return bufferedReader.readLine(