QQ通讯使用UDP, 那它怎么实现发送消息失败提醒的

既然是点对点的通信,就不用经过腾讯服务器啊,那它怎么检测到的?
还有,我的qq怎么知道对方qq的IP和应用端口号的?
求解啊!有没有大神指导指导。

它的检测正确度并不高,我估计是检测网络连接通不通吧。

好比你在cmd命令下ping一下,网络不通的话估计默认qq消息没有发出去了。而且报告没有发出去的时间是有延时的。
但有时虽然说没有发出去,对方也收到了。

我猜,它失败提醒和发送消息是两个不通的进程。

UDP用户数据报,使用报表 传输信息,报表里面包含了很多信息,分成几个段;其中报头,就是头部 ---包含了发送方 的IP,主机名;后面才是数据段,里面是发送的
真正内容。在网络通信协议中,具体定义了UDP表头所要必须包含的信息,还有数据段信息格式。这都是传输协议规定了的。
网络通信最起码的要求是,能唯一识别网络上的一台主机,才能通信