为什么我收不到飞q发的消息

时间:2022-06-06 15:39:27
package cn.conest.udp;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;

/*给飞秋发消息*/
/*飞q接收数据的形式:version:time:sender:ip:flag:content
版本号:时间:发送人:ip:发送的标识符:真正内容*/
public class Demo05 {

public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
DatagramSocket datagramSocket=new DatagramSocket();//建立udp服务
String str=getData("feiqiu你好");
DatagramPacket datagramPacket=new DatagramPacket(str.getBytes(), str.getBytes().length, InetAddress.getLocalHost(),2425);//建立数据包
datagramSocket.send(datagramPacket);
datagramSocket.close();
}

public static String getData(String data){
StringBuilder sb=new StringBuilder();
sb.append("3.0.0.2"+":");
sb.append(System.currentTimeMillis()+":");
sb.append("习大大:");
sb.append("27.20.2:");
sb.append(32+":");
sb.append(data);
return sb.toString();
}
}

6 个解决方案

#1


不太理解题主的问题。

#2


引用 1 楼 qq457163027 的回复:
不太理解题主的问题。
就是我在eclipse运行程序,程序写的事给我电脑上的飞q发消息,怎么自己收不到消息,电脑上飞秋只有我一个好友,是不是这个原因我才没收到消息,

#3


把“code=java]sb.append("3.0.0.2"+":");[/code]改成
sb.append("1:");
即可,因为这个段是版本号,而发送文本消息是IpMsg协议1.0版发布的。

#4



sb.append("3.0.0.2"+":");

改成
sb.append("1:");

即可,因为这个段是版本号,而发送文本消息是IpMsg协议1.0版发布的。

#5


引用 4 楼 zys59 的回复:

sb.append("3.0.0.2"+":");

改成
sb.append("1:");

即可,因为这个段是版本号,而发送文本消息是IpMsg协议1.0版发布的。
真的啊,谢谢谢谢,刚刚试了一下,果然行,还有遇到问题你一般怎么做的,为啥我用百度完全搜不到程序员的问题,好烦,遇到个问题完全百度不到

#6


看到这个问题,我首先复制代码,然后自己运行了一下,编译、运行都没有问题,但是,飞Q确实收不到。因此,我感觉是你拼装协议包时除了问题。我就去百度飞Q通信协议,得到的结果是,飞Q用的是飞鸽的IpMsg协议,我找到一个文档 http://wenku.baidu.com/link?url=YQGwegqywsTXu37CsfRgjaiZNTkwuldsDsZQP_v5VSJvjE5fIEo-9s219TT7eHZkTm2SFivixWCiqXFT4pgUnnKWc4M3vcddRKWdfbDP1NC,简单看了一下,就发现是你把版本号写错了。
我描述的据说我解决这个问题的过程,我估计谁也没法给出一个普适的方案吧?

#1


不太理解题主的问题。

#2


引用 1 楼 qq457163027 的回复:
不太理解题主的问题。
就是我在eclipse运行程序,程序写的事给我电脑上的飞q发消息,怎么自己收不到消息,电脑上飞秋只有我一个好友,是不是这个原因我才没收到消息,

#3


把“code=java]sb.append("3.0.0.2"+":");[/code]改成
sb.append("1:");
即可,因为这个段是版本号,而发送文本消息是IpMsg协议1.0版发布的。

#4



sb.append("3.0.0.2"+":");

改成
sb.append("1:");

即可,因为这个段是版本号,而发送文本消息是IpMsg协议1.0版发布的。

#5


引用 4 楼 zys59 的回复:

sb.append("3.0.0.2"+":");

改成
sb.append("1:");

即可,因为这个段是版本号,而发送文本消息是IpMsg协议1.0版发布的。
真的啊,谢谢谢谢,刚刚试了一下,果然行,还有遇到问题你一般怎么做的,为啥我用百度完全搜不到程序员的问题,好烦,遇到个问题完全百度不到

#6


看到这个问题,我首先复制代码,然后自己运行了一下,编译、运行都没有问题,但是,飞Q确实收不到。因此,我感觉是你拼装协议包时除了问题。我就去百度飞Q通信协议,得到的结果是,飞Q用的是飞鸽的IpMsg协议,我找到一个文档 http://wenku.baidu.com/link?url=YQGwegqywsTXu37CsfRgjaiZNTkwuldsDsZQP_v5VSJvjE5fIEo-9s219TT7eHZkTm2SFivixWCiqXFT4pgUnnKWc4M3vcddRKWdfbDP1NC,简单看了一下,就发现是你把版本号写错了。
我描述的据说我解决这个问题的过程,我估计谁也没法给出一个普适的方案吧?