Java如何基于UDP实现聊天室的功能
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关Java如何基于UDP实现聊天室的功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。项目结构data.javapackage udp;i
千家信息网最后更新 2026年11月03日Java如何基于UDP实现聊天室的功能
这篇文章将为大家详细讲解有关Java如何基于UDP实现聊天室的功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
项目结构
data.java
package udp;import java.net.InetAddress;public class data { InetAddress Address; int Port; public InetAddress getAddress() { return Address; } public void setAddress(InetAddress address) { Address = address; } public int getPort() { return Port; } public void setPort(int port) { Port = port; }}服务器端
Server.java
package udp;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;import java.util.ArrayList;public class Server { DatagramSocket socket = null; ArrayList client; public Server() { try { socket = new DatagramSocket(8888); } catch (SocketException e) { // TODO Auto-generated catch block e.printStackTrace(); } client = new ArrayList(); } public void s_r(){ try { while(true) { byte[] buf = new byte[3000]; //接收数据的数据包 DatagramPacket packet = new DatagramPacket(buf,buf.length); socket.receive(packet); //地址 InetAddress clientAddress = packet.getAddress(); //端口号 int clientPort = packet.getPort(); data d = new data(); d.setAddress(clientAddress); d.setPort(clientPort); int i=0; //判断客户端集合里是否存在发送新消息的客户端 for(;i客户端
package udp;
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;import java.net.UnknownHostException;public class Client { DatagramSocket socket = null; DatagramPacket packet; InetAddress address = null; Client(){ try { socket = new DatagramSocket(); } catch (SocketException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void s_r() { try { // 把表示服务器端IP地址的字符串转换成InetAddress对象 address = InetAddress.getByName("127.0.0.1"); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } String s = "登陆"; byte[] b = s.getBytes(); packet = new DatagramPacket(b,b.length,address,8888); try { socket.send(packet); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //发送消息的线程 new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub String sendStr; BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in)); try { while((sendStr = stdIn.readLine())!=null) { byte[] buf = sendStr.getBytes(); packet = new DatagramPacket(buf,buf.length,address,8888); socket.send(packet); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }).start(); //接收消息的线程 new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub byte[] buf_1 = new byte[3000]; // 使用空字节数组构造空数据包 DatagramPacket packet = new DatagramPacket(buf_1,buf_1.length); try { while(true) { socket.receive(packet); String received = new String(packet.getData(),0,packet.getLength()).trim(); System.out.println("接收到的信息:"+received); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }).start(); } public static void main(String[] args) { Client c = new Client(); c.s_r(); } }关于"Java如何基于UDP实现聊天室的功能"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
客户
客户端
数据
地址
消息
篇文章
功能
聊天室
信息
口号
更多
服务器
线程
服务
不错
实用
内容
字符
字符串
字节
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技有限公司
为想互联网科技怎么样
科技金融是不是互联网金融
互联网科技会
金融科技还是互联网
亿策互联网科技
科技互联网公司logo
多迪互联网科技有限公司
衡水科技产业互联网平台
深圳互联网科技怎么样
成都玖崟互联网科技有限公司乐商圈怎么样
互联网科技博主是什么意思
移动互联网科技公司
互联网科技人工智能实验室
河南住房之家互联网科技
富国互联网科技002692
35岁以上互联网科技行业
江苏互联网智能科技产品出厂价
山东蛋芒互联网科技有限公司
互联网科技快速发展优美句子
浩特互联网科技
互联网科技股有哪些
厦门千工互联网科技有限公司
996高科技互联网公司
下一代互联网重大应用科技园
互联网硬科技公司
互联网公司属于科技吗
北京瑞云互联网科技有限公司
互联网高科技绘画
恒生科技互联网指数十大成分股