发送端

package com.zy.exercise;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner; public class send1 { public static void main(String[] args) throws Exception {
DatagramSocket datagramSocket = new DatagramSocket();
InetAddress byName = InetAddress.getByName("127.0.0.1");//如果别的主机要测试此处ip应该为192.168.219.61,即服务器的ip
System.out.println("欢迎来到多人聊天室");
Scanner scanner = new Scanner(System.in);
String username=scanner.nextLine();
while(true){
System.out.println("请输入:");
String str=scanner.nextLine();
str=username+"说:"+str;
// System.out.println(str);
byte b[]=str.getBytes();
DatagramPacket datagramPacket = new DatagramPacket(b, b.length, byName, 8888);
datagramSocket.send(datagramPacket);
if(str.equals("拜拜"))
{
System.out.println("退出");
break;
}
}
datagramSocket.close(); } }

服务器端(分发个多个主机)

package com.zy.exercise;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException; public class server {
//分发给该段网络的所有服务器 public static void main(String[] args) throws Exception {
DatagramSocket datagramSocket = new DatagramSocket(8888);
byte b[]=new byte[1024];
while(true){
DatagramPacket datagramPacket = new DatagramPacket(b, b.length);
datagramSocket.receive(datagramPacket);
System.out.println(new String(b));
for (int i = 1; i < 100; i++) {
DatagramSocket datagramSocket2 = new DatagramSocket();
InetAddress byName = InetAddress.getByName("192.168.219."+i);
DatagramPacket datagramPacket2 = new DatagramPacket(b, b.length, byName, 10086);
datagramSocket2.send(datagramPacket2); } }
// datagramSocket.close(); } }

接收端

package com.zy.exercise;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException; public class receive1 { public static void main(String[] args) throws Exception {
System.out.println("xxxx聊天群");
DatagramSocket datagramSocket = new DatagramSocket(10086); byte b[]=new byte[1024];
while(true){
DatagramPacket datagramPacket = new DatagramPacket(b, b.length); datagramSocket.receive(datagramPacket);
System.out.println(new String(b));
} } }

结果

最新文章

  1. java入门笔记(1)
  2. flask SQLAlchemy中一对多的关系实现
  3. (转)接口自动化测试 – Java+TestNG 测试 Restful Web Service
  4. 三步走起 提升 iOS 审核通过率 上篇
  5. SGU 147.Black-white king
  6. jquery.cookie()方法
  7. altium designer14的Import wizard 为空的解决方法
  8. 那两年炼就的Android内功修养
  9. c++ string.find()函数的陷阱
  10. 最小化安装Linux记录
  11. for 循环语句
  12. 小程序脚本语言WXS,你想要的都在这里了
  13. Oracle参数设置之set与reset的实际案例
  14. mysql字符串用法
  15. PHP ==与===的区别
  16. sql server 碎片整理——DBCC SHOWCONTIG
  17. 在Windows中配置Rsync同步
  18. 使用go实现的lisp
  19. IE6-IE9不支持table.innerHTML的解决方法--终极解决办法
  20. java梳理-一个汉字占多大空间

热门文章

  1. netty心跳检测机制
  2. TCP连接的建立与释放(超详细)
  3. Nginx安装步骤及本地浏览器不通解决方案,Nginx在Linux发布项目,Tomcat 与本地浏览器不通解决方案
  4. 在CentOS上安装Singularity高性能容器
  5. CS远控
  6. 【葵花宝典】一天掌握Docker
  7. SAP demo包 示例程序
  8. Lakehouse: 统一数据仓库和高级分析的新一代开放平台
  9. Py迭代和迭代器,生成器,生产者和消费者模型
  10. Redis持久化之RDB和AOF