网络编程____使用java给公司用飞q软件的同事群发消息

 


package cn.udp;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

/**
 * 模拟:
 * 使用udp协议给FeiQ发送信息
 * @author 小风微灵
 *
 */
public class FQSend {

    
    public static void main(String[] args) throws Exception {
        
        System.out.println("发送端!");
        //建立UDP服务插座
        DatagramSocket send=new DatagramSocket();
        
        //创建发送包
        String content=getFQData("哈哈哈,我是神!收到你哦一声啊!");
        String content1=getFQData("ip:192.168.9.255" +
                                  "port:2425" +
                                  "这样就可以群发了,但是不能while循环啊!会出事!");
        DatagramPacket packet=new DatagramPacket(content.getBytes(), 
                                                 content.getBytes().length,
                                                 InetAddress.getByName("192.168.1.255"),2425);
        
        //消息 群发:
        //InetAddress.getByName("192.168.9.255"),2425
        
        //发送数据包
        send.send(packet);    //发送不是阻塞型的!
        System.out.println("数据已发送.....");

    }
    
    private static String getFQData(String content){
        
        StringBuilder sb = new StringBuilder();
          sb.append("1.0:")                                    //版本号
            .append(System.currentTimeMillis()+":")            //时间
            .append("天使-彦:")                                //发送者
            .append("192.168.9.251:")                        //ip
            .append("32:")                                    //标识符(信息格式标志)
            .append(content);                                //发送的信息    
        return sb.toString();
    }
    

}

 

网络编程(学习整理)---3--(Udp)FeiQ实现广播消息群发

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"),2425
33         
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:")                        //ip
47             .append("32:")                                    //标识符(信息格式标志)
48             .append(content);                                //发送的信息    
49         return sb.toString();
50     }
51     
52 
53 }

 

 

研究技术需要静下心来,一点一点地深究.......

分类: 网络编程

好文要顶关注我 收藏该文

 

小风微灵-彦
关注 - 0
粉丝 - 0

+加关注

0

0

«上一篇:网络编程(学习整理)---2--(Udp)实现简单的控制台聊天室
»下一篇:数据库(学习整理)----1--如何彻底清除系统中Oracle的痕迹(重装Oracle时)

posted @ 2016-07-11 20:52 小风微灵-彦 阅读(386) 评论(0)编辑 收藏

刷新评论刷新页面返回顶部

注册用户登录后才能发表评论,请 登录 注册访问网站首页。

【推荐】50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
【免费】从零开始学编程,开发者专属实验平台免费实践!

 

最新IT新闻:
· NASA在使用大数据做什么?相关事务全解析
· IBM改组计算机网络部门 加速向人工智能转型
· Google收购专注解决“老问题”的印度人工智能公司Halli Labs
· 亚马逊智能音箱和苹果贴身近打:二代Echo走高端路线
· 李开复:向死而生的经历让我明白人类如何与人工智能共存
» 更多新闻...

极光推广_0701

最新知识库文章:

· 小printf的故事:什么是真正的程序员?
· 程序员的工作、学习与绩效
· 软件开发为什么很难
· 唱吧DevOps的落地,微服务CI/CD的范本技术解读
· 程序员,如何从平庸走向理想?

» 更多知识库文章...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值