openfire中 Packet 、IQ 、Message 、Presence 到底是什么?这4种packet到底是什么?

首先把 Packet 、IQ 、Message 、Presence并列起来是不对的,xmpp协议中只有IQ 、Message 、Presence。由于这三种消息有共同点,所以定义了一个Packet作为IQ 、Message 、Presence的基类,例如每种消息都有一个Id,就定义在基类Packet中。

那么Presence、Message 、IQ 到底是什么?

Presence表示某个人是在线还是离线状态。A可以发送Presence消息给B,表示自己在线还是离线。

Message表示从一个人到另一个人发送消息,我们的聊天信息就放在message的body中,message有两种类型:组消息和单点消息。

IQ :是控制消息,除了presence和message完成的功能,其他功能都由IQ来做,例如加人到组,从组中踢人等。