首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

XMPP兑现群聊截图(spark+openfire)

2012-08-14 
XMPP实现群聊截图(spark+openfire)spark默认的单聊截图模式是利用文件来来进行传递,调用SparkTransferMana

XMPP实现群聊截图(spark+openfire)

spark默认的单聊截图模式是利用文件来来进行传递,调用SparkTransferManager.getInstance().sendFile(img.getTmpFile(), getParticipantJID());

调用??? final OutgoingFileTransfer transfer = transferManager
??? ??? ??? ??? .createOutgoingFileTransfer(fullJID);

通过??? transfer.sendFile(file, "Sending file");来进行发送。

?

spark的群聊(临时会议基础上进行改造)却不能使用这种模式来进行文件传递,缺少了文件传递的JID。由此,想出一种简单的方式来通过xmpp来进行传递。

思路很简单:截图后的图片保存到本地,插入到聊天显示框,将图片image转为byte数组,再转为hex存储到String中(自定义标签,如<img>来将转码后的内容保存,方便接受时候截取),利用Message传递时setBody(“转码后的字符串”)。

在群聊接收消息的GroupChatRoom的handleMessagePacket方法进行修改,创建BufferedImag并利用ImageIo将图片写入到指定文件中,具体代码如下:

?转码的具体实现:

?收到消息后的处理:

?解码代码:

?这样,通过byte数组来生成图片,实现群聊截图功能。


XMPP兑现群聊截图(spark+openfire)

热点排行