基于java的多人聊天系统

@基于java的多人聊天系统

开发环境

Windows 7 操作系统
MyEclipse

聊天室程序结构设计

1.系统分为客户端、服务器端和连接服务器客户端三个模块。
2.客户端负责发送消息。
3.服务器端负责接收客户端发来的信息并执行相应操作处理,最后通过群发功能,使客户端将群聊的消息的显示出来。
4.连接服务器端负责连接服务器,从而进入客户端。

总体模块图

在这里插入图片描述

客户端代码

Client.java

package servlet;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;
import java.io.OutputStreamWriter;

public class Client {
   
              Socket socket;
              BufferedWriter bw;
              BufferedReader br ;
		
public Client(String ip, int port){
   
         try {
   
              socket =new Socket(ip,port);
              bw=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
	          br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
              }catch (UnknownHostException e){
   
              e.printStackTrace();
              }catch(IOException e){
   
              e.printStackTrace();
                }
    }
public void sendMessage(String message) {
   
          try{
    
              bw.write(message);
              bw.newLine();
              bw.flush();
       }catch(IOException e){
   
             e.printStackTrace();
	
     }
   }

public String reciveMessage() {
   
       String message=null;
       try {
    
    	   message = br.readLine();
      }catch(IOException e) {
   
          e.printStackTrace();
      }
    return message;
}

public void close(){
   
	 try{
   
	 socket.close();
	}catch(IOException e){
   
	e.printStackTrace();
	}
}}

ClientFrame.java

package servlet;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.text.SimpleDateFormat;
import java.util.Date;




import javax.swing.*;
import javax.swing.border.EmptyBorder;


public class ClientFrame extends JFrame {
   
    private JPanel contentPane;
    private JLabel lblUserName;
    private JTextField tfMessage;
    private JButton btnSend;
    private JTextArea textArea;
    private String userName;
    private Client client;

public ClientFrame(String ip,String userName){
   
    this.userName = userName;
  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值