博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络编程(学习整理)---3--(Udp)FeiQ实现广播消息群发
阅读量:6626 次
发布时间:2019-06-25

本文共 2231 字,大约阅读时间需要 7 分钟。

1、广播群发消息:

    这里使用的任然是UDP协议,使用方法还是比较简单的!

    我就记录一下需要注意的一些地方(笔记):

    (1)这里是在局域网内,借用FeiQ聊天软件,编写一段程序,实现对局域网内的每一个登录FeiQ的用户广播式的群发消息!

    (2)向一款应用程序发送信息,不是简单的String类型,或者byte[]类型的数据就可以的,一般通信软件都有内置好的接受数据包的格式,作为过滤非法数据!

      也是一种安全性的措施,想想也是应该的!这里FeiQ的接受数据格式为:“版本号:发送时间:发送人:发送者IP:发送数据的类型标识符(默认32:文本字符串:发送的内容)”

    (3)我们向指定的在线用户发送数据包的时候,需要指定的是对方在特定网段内的IP和端口号,但是群发的话,由于接受的对象是所有在线用户,那么使用的是FeiQ软件提供的特定的IP和端口号!这些事内设好的,拿来主义,很简单是不是啊!

 

2、现在贴上测试的例子:

效果图:

以下是代码:

1 package cn.udp; 2  3 import java.net.DatagramPacket; 4 import java.net.DatagramSocket; 5 import java.net.InetAddress; 6  7 /** 8  * 模拟: 9  * 使用udp协议给FeiQ发送信息10  * @author 小风微灵11  *12  */13 public class FQSend {14 15     16     public static void main(String[] args) throws Exception {17         18         System.out.println("发送端!");19         //建立UDP服务插座20         DatagramSocket send=new DatagramSocket();21         22         //创建发送包23         String content=getFQData("哈哈哈,我是神!收到你哦一声啊!");24         String content1=getFQData("ip:192.168.9.255" +25                                   "port:2425" +26                                   "这样就可以群发了,但是不能while循环啊!会出事!");27         DatagramPacket packet=new DatagramPacket(content.getBytes(), 28                                                  content.getBytes().length,29                                                  InetAddress.getByName("192.168.1.255"),2425);30         31         //消息 群发:32         //InetAddress.getByName("192.168.9.255"),242533         34         //发送数据包35         send.send(packet);    //发送不是阻塞型的!36         System.out.println("数据已发送.....");37 38     }39     40     private static String getFQData(String content){41         42         StringBuilder sb = new StringBuilder();43           sb.append("1.0:")                                    //版本号44             .append(System.currentTimeMillis()+":")            //时间45             .append("天使-彦:")                                //发送者46             .append("192.168.9.251:")                        //ip47             .append("32:")                                    //标识符(信息格式标志)48             .append(content);                                //发送的信息    49         return sb.toString();50     }51     52 53 }

 

转载于:https://www.cnblogs.com/newwind/p/5661582.html

你可能感兴趣的文章
Liferay 6开发学习(二十六):数据库连接相关问题
查看>>
【20170506】贝业新兄弟IT总监李济宏:第三方家居物流的IT架构探索
查看>>
poj3517
查看>>
iphone http下载文件
查看>>
poj 1195:Mobile phones(二维树状数组,矩阵求和)
查看>>
Codeforces 433 C. Ryouko's Memory Note
查看>>
java中的Static class
查看>>
实例讲解Linux下的makefile
查看>>
json lib 2.4及其依赖包下载
查看>>
计算机中文核心期刊
查看>>
【BZOJ】3832: [Poi2014]Rally
查看>>
[转]看懂ExtJS的API
查看>>
推荐15款制作 SVG 动画的 JavaScript 库
查看>>
转:CEO, CFO, CIO, CTO, CSO是什么
查看>>
andriod自定义视图
查看>>
linux下vim更改注释颜色
查看>>
在SSL / https下托管SignalR
查看>>
Using JRuby with Maven
查看>>
Netty了解与小试
查看>>
醒醒吧少年,只用Cucumber不能帮助你BDD
查看>>