「java聊天室实验报告」java聊天室实训报告

博主:adminadmin 2022-11-26 20:04:07 52

今天给各位分享java聊天室实验报告的知识,其中也会对java聊天室实训报告进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

计算机毕业设计选择哪个?

毕业季马上到来,我相信很多人都已经在筹备毕业设计选题了,肯定有很多迷茫和不懂的学生,其实毕业设计并没有大家想的那么难,只要找对方法,方式,您可以很顺利的完成的自己的毕业设计作品,

1:先结合自身所学知识进行选取毕设方向,(例如:软件工程,网络技术,)

2:假设选定软件工程:那么包含了很多的开发语言。例如:Java php asp python 安卓,小程序等

3:选定开发语言后需要选定数据库软件:例如mysql sqlserver 选题有很多:

以下为JavaWeb方面的例子(更多题目请参考 ,下面介绍的项目都可以在这里找到源码)

----jd----

1-CRM客户关系管理系统-ssh

2-户籍管理系统-jsp

3-Java聊天室的设计与实现-swing

4-进销存管理系统的设计与实现-springboot

5-超市积分管理系统-jsp

6-基于JSP的网上购书系统-ssh

7-基于SSH的婴幼儿产品销售系统的开发与设计

8-基于WEB的网上购物系统的设计与实现-ssh源码

9-网上手机销售系统-jsp

10-Java网上体育商城的设计与实现-ssh

11-基于JSP+Servlet开发高校社团管理系统

12-Java在线考试系统-ssh

13-java开发电影订票网站系统-ssh14-JavaWeb校园二手平台项目+论文-ssh

15-百货中心供应链管理系统+论文-ssh

16-固定资产管理系统+论文-ssh

17-网络考试系统的设计与实现+论文-jsp

18-基于JSP+Servlet开发简单的新闻发布系统

19-基于JSP+Servlet开发在线租车系统

20-基于JSP+Servlet开发火车票网上订票系统

21-基于JSP+Servlet开发简单的医院预约挂号系统

22-基于SSM开发在线考试系统

23-基于Struts2开发公司职工管理系统+说明书+任务书+方案书

24-基于S2SH开发彩票购买系统的设计与实现毕业设计+论文

25-基于Struts2+Hibernate开发小区物业管理系统

26-基于S2SH开发学生考勤管理系统+报告

27-基于S2SH开发车辆租赁管理系统的设计与实现+论文

28- 基于S2SH开发银行个人业务管理系统

29-基于JavaSwing开发简单的银行管理系统

30-基于JavaSwing开发银行信用卡管理系统

31-基于JSP+Servlet开发简单的家居购物商城系统

32-基于JSP+Servlet开发手机销售购物商城系统

33-基于JSP+Servlet开发物流管理系统

34-基于JSP机票预定系统

35-基于S2SH开发病房管理系统的设计与实现

36-基于S2SH开发就业招聘管理系统

37-基于S2SH开发图书管理系统(新本版)+论文

38-基于S2SH开发学生公寓(宿舍)管理系统

39-基于SSM开发大学食堂采购管理系统

40-基于SSM开发学生信息管理系统

41-基于SSM开发在线家教预约系统

42-基于SSM开发自行车在线租赁管理系统

43-基于Struts2+Hibernate开发社区蔬菜、食品交易平台+论文

44-基于Struts2开发快递收发系统

45-基于Struts2开发校园二手购物商城

46-基于Struts2开发学生信息管理系统

47-基于Struts2开发学生宿舍管理系统

48-基于JSP+Servlet+bootstrap开发电影院购票系统

49-基于JSP+Servlet开发学生成绩管理系统+实验报告

50-基于JSP+Servlet开发超市日常管理系统

51-基于JSP+Servlet开发开放实验室预约系统+论文

52-基于JSP+Servlet开发网上服装销售购物商城系统+论文+PPT+任务书+检查表

53-基于JSP+Servlet开发旅游(景点宾馆)系统

54-基于JSP+Servlet开发图书管理系统+PPT+讲解视频

55-基于JSP+Servlet开发学生选课系统+论文

56-基于JSP开发云餐厅自助点餐系统(前台+后台) 讲解视频

57-基于JSP+Servlet开发药品管理系统

58-基于JSP+Servlet开发快递管理系统+UML图

59-基于JSP+Servlet开发小型酒店管理系统的设计与实现

60-基于JSP+Servlet开发在线聊天系统+论文+PPT

61-基于JSP+Servlet开发教师工资管理系统

62-基于JSP+Servlet开发汽车配件销售管理系统的设计与实现+论文

63-基于SSM开发仓库库存管理系统

64-基于SSM开发学生请假管理系统

65-基于S2SH开发彩票购买系统的设计与实现毕业设计+论文

66-基于SSM开发餐饮业点餐系统

67-基于SSM开发学生信息管理系统

68-基于SSM开发校园外卖零食购物商城系统

69-基于S2SH开发医院挂号预约系统

70-基于S2SH开发企业人事管理系统(新本版)

71-基于S2SH开发学生公寓(宿舍)管理系统

72-基于S2SH开发网上书店购物商城系统

73-基于S2SH开发学生宿舍管理系统

74-基于S2SH开发校园失物招领网+论文

75-基于S2SH开发教师科研项目管理系统

76-基于SpringMVC+Hibernate开发库存(仓库)管理系统

77-基于S2SH开发都匀房屋租售(租赁)系统+论文

78-基于SSH开发学生宿舍(公寓)管理系统+论文

79-基于SSM开发教务查询管理系统

80-基于SSM开发药店(药品)管理系统

81-基于S2SH开发宠物之家在线宠物购买系统(前台+后台)+论文

82-基于SSM开发行政服务管理系统

83-基于S2SH开发网上预约预约挂号系统

84-基于SSM开发高校共享单车管理系统

85-基于S2SH开发网上蛋糕店(甜品)购物商城系统

86-基于S2SH开发在线聊天系统(群聊)

87-基于SSM开发在线学习网站(前台+后台)

88-基于SSM开发网上书店商城购物系统

89-基于S2SH开发在线学堂系统(课程学习网站 前台+后台)

90-基于Struts开发在线音乐播放网站

91-基于S2SH开发图书管理系统

92-基于S2SH开发酒店点餐管理系统+论文

93-基于S2SH开发人力资源管理系统

94-基于S2SH开发房屋租赁管理系统

95-基于S2SH开发酒店管理系统+论文

96-基于S2SH开发网上鲜花(花店)商城的设计与实现+论文

97-基于S2SH开发医院信息管理系统

98-基于SSH开发高校选课系统的设计与实现+论文

99-基于SSH网上招聘系统+论文+任务书+PPT

100-基于JSP+Servlet开发收费停车场管理系统+论文101-javaweb垃圾分类查询系统源码 ssm+mysql

102-基于SSM开发医药管理系统

103-基于S2SH开发房地产管理系统

104-基于S2SH开发化妆品销售系统(购物商城 前台+后台)

105-基于SSM开发校园外卖零食购物商城系统(前台+后台)

106-基于S2SH开发中小学在线教育系统(前台+后台)107-基于JSP+Servlet开发失物招领系统

108-基于JSP+Servlet开发球队活动管理系统

109-基于JSP+Servlet开发公交在线查询

110-基于JSP开发Java在线学习平台

111-基于Struts2开发宠物领养系统的设计与实现+论文

112-基于Struts+Hibernate开发水果4S店营销(购物商场)管理系统的设计与实现+论文

113-基于S2SH开发农产品网上销售系统(购物商城 前台+后台)

114-jsp考勤管理系统-ic

115-jsp失物招领系统-ic

116-ssm毕业设计管理系统-ic

117-基于JSP的美食网站食谱网站、javaweb源码-cs

118-基于JSP的旅游信息发布网站、jsp+servlet+mysql+论文-cs

119-基于JSP的小说网站-cs

120-基于SSH的航空订票系统-cs

122-基于springboot的企业资产管理系统源码-cs

123-SSM实现类似京东的3C电子商城系统-cs

124-SSM实现复杂权限控制的教务管理,教务评教系统-cs

125-JavaWeb开发ssm在线考试系统-cs

126-基于SpringBoot的博客系统-cs

127-基于SSM的校园二手交易平台-cs

128-JSP高校社团管理系统

源码及原文链接:;tid=17

用JAVA 编写简单网络聊天程序

/**

* 基于UDP协议的聊天程序

*

* 2007.9.18

* */

//导入包

import java.awt.*;

import java.awt.event.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.*;

import java.net.*;

public class Chat extends JFrame implements ActionListener

{

//广播地址或者对方的地址

public static final String sendIP = "172.18.8.255";

//发送端口9527

public static final int sendPort = 9527;

JPanel p = new JPanel();

List lst = new List(); //消息显示

JTextField txtIP = new JTextField(18); //填写IP地址

JTextField txtMSG = new JTextField(20); //填写发送消息

JLabel lblIP = new JLabel("IP地址:");

JLabel lblMSG = new JLabel("消息:");

JButton btnSend = new JButton("发送");

byte [] buf;

//定义DatagramSocket的对象必须进行异常处理

//发送和接收数据报包的套接字

DatagramSocket ds = null;

//=============构造函数=====================

public Chat()

{

CreateInterFace();

//注册消息框监听器

txtMSG.addActionListener(this);

btnSend.addActionListener(this);

try

{

//端口:9527

ds =new DatagramSocket(sendPort);

}

catch(Exception ex)

{

ex.printStackTrace();

}

//============接受消息============

//匿名类

new Thread(new Runnable()

{

public void run()

{

byte buf[] = new byte[1024];

//表示接受数据报包

while(true)

{

try

{

DatagramPacket dp = new DatagramPacket(buf,1024,InetAddress.getByName(txtIP.getText()),sendPort);

ds.receive(dp);

lst.add("【消息来自】◆" + dp.getAddress().getHostAddress() + "◆"+"【说】:" + new String (buf,0,dp.getLength()) /*+ dp.getPort()*/,0);

}

catch(Exception e)

{

if(ds.isClosed())

{

e.printStackTrace();

}

}

}

}

}).start();

//关闭窗体事件

this.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent w)

{

System.out.println("test");

int n=JOptionPane.showConfirmDialog(null,"是否要退出?","退出",JOptionPane.YES_NO_OPTION);

if(n==JOptionPane.YES_OPTION)

{

dispose();

System.exit(0);

ds.close();//关闭ds对象//关闭数据报套接字

}

}

});

}

//界面设计布局

public void CreateInterFace()

{

this.add(lst,BorderLayout.CENTER);

this.add(p,BorderLayout.SOUTH);

p.add(lblIP);

p.add(txtIP);

p.add(lblMSG);

p.add(txtMSG);

p.add(btnSend);

txtIP.setText(sendIP);

//背景颜色

lst.setBackground(Color.yellow);

//JAVA默认风格

this.setUndecorated(true);

this.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);

this.setSize(600,500);

this.setTitle("〓聊天室〓");

this.setResizable(false);//不能改变窗体大小

this.setLocationRelativeTo(null);//窗体居中

this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

this.setVisible(true);

txtMSG.requestFocus();//消息框得到焦点

}

//===============================Main函数===============================

public static void main(String[]args)

{

new Chat();

}

//================================发送消息===============================

//消息框回车发送消息事件

public void actionPerformed(ActionEvent e)

{

//得到文本内容

buf = txtMSG.getText().getBytes();

//判断消息框是否为空

if (txtMSG.getText().length()==0)

{

JOptionPane.showMessageDialog(null,"发送消息不能为空","提示",JOptionPane.WARNING_MESSAGE);

}

else{

try

{

InetAddress address = InetAddress.getByName(sendIP);

DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getByName(txtIP.getText()),sendPort);

ds.send(dp);

}

catch(Exception ex)

{

ex.printStackTrace();

}

}

txtMSG.setText("");//清空消息框

//点发送按钮发送消息事件

if(e.getSource()==btnSend)

{

buf = txtMSG.getText().getBytes();

try

{

DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getByName(txtIP.getText()),sendPort);

}

catch(Exception ex)

{

ex.printStackTrace();

}

txtMSG.setText("");//清空消息框

txtMSG.requestFocus();

}

}

}

java聊天室给你发个我以前做过的吧 存为test。java import java.net.*; import java.io.*; import javax.sw

package tf.thread;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

import java.util.ArrayList;

import java.util.List;

import java.util.concurrent.ExecutorService;

import java.util.concurrent.Executors;

public class ChatServer {

private static final int PORT = 8888; // 端口号

private static ListSocket list = new ArrayListSocket(); // 保存连接对象

private ExecutorService exec;

private ServerSocket server;

public static void main(String[] args) {

new ChatServer();

}

public ChatServer() {

try {

server = new ServerSocket(PORT);

exec = Executors.newCachedThreadPool();

System.out.println("服务器已启动!");

Socket client = null;

while (true) {

client = server.accept(); // 接收客户连接

list.add(client);

exec.execute(new ChatTask(client));

}

} catch (IOException e) {

e.printStackTrace();

}

}

static class ChatTask implements Runnable {

private Socket socket;

private BufferedReader br;

private PrintWriter pw;

private String msg;

public ChatTask(Socket socket) throws IOException {

this.socket = socket;

br = new BufferedReader(new InputStreamReader(socket

.getInputStream()));

msg = "【" + this.socket.getInetAddress() + "】进入聊天室!当前聊天室有【"

+ list.size() + "】人";

sendMessage();

}

public void run() {

try {

while ((msg = br.readLine()) != null) {

if (msg.trim().equals("bye")) {

list.remove(socket);

br.close();

pw.close();

msg = "【" + socket.getInetAddress() + "】离开聊天室!当前聊天室有【"

+ list.size() + "】人";

socket.close();

sendMessage();

break;

} else {

msg = "【" + socket.getInetAddress() + "】说:" + msg;

sendMessage();

}

}

} catch (IOException e) {

e.printStackTrace();

}

}

/**

* 群发消息给聊天室的所有人

*/

private void sendMessage() throws IOException {

System.out.println(msg);

for (Socket client : list) {

pw = new PrintWriter(client.getOutputStream(), true);

pw.println(msg);

}

}

}

package tf.thread;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.Socket;

import java.util.concurrent.ExecutorService;

import java.util.concurrent.Executors;

public class ChatClient {

private static final int PORT = 8888;

private static ExecutorService exec = Executors.newCachedThreadPool();

public static void main(String[] args) throws Exception {

new ChatClient();

}

public ChatClient() {

try {

Socket socket = new Socket("192.168.1.120", PORT);

exec.execute(new Sender(socket));

System.out

.println("【" + socket.getInetAddress() + "】您好,欢迎来到阿飞聊天室!");

BufferedReader br = new BufferedReader(new InputStreamReader(socket

.getInputStream()));

String msg;

while ((msg = br.readLine()) != null) {

System.out.println(msg);

}

} catch (Exception e) {

}

}

/**

* 客户端线程获取控制台输入消息

*/

static class Sender implements Runnable {

private Socket socket;

public Sender(Socket socket) {

this.socket = socket;

}

public void run() {

try {

BufferedReader br = new BufferedReader(new InputStreamReader(

System.in));

PrintWriter pw = new PrintWriter(socket.getOutputStream(), true);

String msg;

while (true) {

msg = br.readLine();

pw.println(msg);

if (msg.trim().equals("bye")) {

pw.close();

br.close();

exec.shutdownNow();

break;

}

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

}

用java语言实行一个UDP聊天室 多客户 无图形用户界面

这是很久以前在网上找的,略作修改的一个小案例UDP聊天的,供你参考,改改里面的ip地址。

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.InetSocketAddress;

public class UDPClient {

public static void main(String[] args) throws IOException {

new UDPClient().go();

}

private void go() {

ClientSendThread send = new ClientSendThread();

new Thread(send).start();

ClientRecvThread recv = new ClientRecvThread();

new Thread(recv).start();

}

class ClientSendThread implements Runnable {

@Override

public void run() {

try {

DatagramSocket ds = new DatagramSocket();

String str = "";

byte[] buf = null;

while (true) {

System.out.println("请输入");

BufferedReader br = new BufferedReader(

new InputStreamReader(System.in));

str = br.readLine();

if ("bye".equals(str))

break;

buf = str.getBytes();

// System.out.println("-----buf.length-------" + buf.length);

DatagramPacket dp = new DatagramPacket(buf, buf.length,

new InetSocketAddress("127.0.0.1", 5678));

ds.send(dp);

buf = null;

}

ds.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

class ClientRecvThread implements Runnable {

@Override

public void run() {

byte[] buf = new byte[1024];

//接收端的端口需要指定,不然发送端不知道向哪个端口发送数据包

DatagramSocket ds;

try {

ds = new DatagramSocket(5679);

String message = "";

DatagramPacket dp = null;

while(true){

dp = new DatagramPacket(buf, buf.length);

ds.receive(dp);

message = new String(buf,0,dp.getLength());

System.out.println("接收到Server端信息为:"+message);

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.InetSocketAddress;

public class UDPServer {

public static void main(String[] args) throws IOException {

new UDPServer().go();

}

private void go() {

//服务端启动2个线程,1个发送,1个接收

ServerSendThread send = new ServerSendThread();

new Thread(send).start();

ServerRecvThread recv = new ServerRecvThread();

new Thread(recv).start();

}

// 服务端发送线程

class ServerSendThread implements Runnable{

@Override

public void run() {

try {

DatagramSocket ds = new DatagramSocket();

String str = "";

byte[] buf = null;

while (true) {

System.out.println("请输入");

BufferedReader br = new BufferedReader(

new InputStreamReader(System.in));

str = br.readLine();

if ("bye".equals(str))

break;

buf = str.getBytes();

DatagramPacket dp = new DatagramPacket(buf, buf.length,

new InetSocketAddress("192.163.20.61", 5679));

ds.send(dp);

buf = null;

}

ds.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

// 服务端接收线程

class ServerRecvThread implements Runnable{

@Override

public void run() {

byte[] buf = new byte[1024];

//接收端的端口需要指定,不然发送端不知道向哪个端口发送数据包

DatagramSocket ds;

try {

ds = new DatagramSocket(5678);

String message = "";

while(true){

DatagramPacket dp = new DatagramPacket(buf, buf.length);

ds.receive(dp);

message = new String(buf,0,dp.getLength());

System.out.println("接收到Client端的信息为:"+message);

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

关于java聊天室实验报告和java聊天室实训报告的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-26,除非注明,否则均为首码项目网原创文章,转载请注明出处。