`
kongshanxuelin
  • 浏览: 933499 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

通用聊天引擎开发(二)

阅读更多

<!----><!----> <!---->

群组核心接口

joinRoom ——登录 / 创建房间

入参

类型

描述

Roomid

字符串

房间 ID

Nickname

字符串

房间中名称

Password

字符串

房间进入密码(如需要密码的话)

相关回调函数:

ExeonRoomIn (room )

ExeonRoomLeave(room )

ExeonRoomUserIn room ,nick

ExeonRoomUserLeave room nick

功能描述:

创建 / 加入房间,如已指定的 ROOMID 已存在,则参与进入此房间

回调函数的 Room 对象,包括以下信息:

       oo["subject"] :房间主题,在修改房间主题后才有这个值

       oo["roomid"] :房间号

       oo["nickname"] :当前用户在房间的名称

       oo["role"] :当前用户在房间的角色 moderator,none participant visitor

       oo["jid"] :当前用户的 JID

       oo["affiliation"] :当前用户与房间的所属关系: owner ,none, admin,member, outcast

configureRoom ——配置房间

入参

类型

描述

Roomid

字符串

房间 ID

config

Object

配置对象,包含了房间的相关的配置信息

相关回调函数:

ExeonRoomConfig (room )

功能描述:

配置指定房间属性

 

config 入参为索引数组,包含了以下属性信息:

config["pubname"] :房间公开名,传入字符串

config["pubdesc"] :房间描述,传入字符串

config["subject"] :是否允许占有者更改房间主题,默认 0 (不允许)

config["maxnum"] :房间上限人数,传入数值,一般为 20 30 50

config["listroom"] :指定房间是否允许在公开的房间列表中展现, 0 :不允许, 1 :允许(默认)

config["persist"] :房间是否是持久的, 0 :不持久(默认), 1 :持久

config["onlymember"] :房间是否只允许会员进入, 0 :否(默认) 1 :是

config["caninvite"] :是否允许房间占有着邀请别人加入这个房间, 0 :否 1 :是(默认)

config["roompwd"] Object ,包括属性 config["roompwd"] . mustpass config["roompwd"] .pass ,前者表示进入该房间是否需要密码, 1 :需要 0 :不需要(默认),后者表示在需要密码的情况下的密码串

config["roommanager"] Object ,指定房间管理员,传入 JID 数组

leaveRoom ——离开房间

手动指定离开指定房间,入参: roomid ,一般不需要调用

sendGroupMessage ——组聊

入参

类型

描述

Roomid

字符串

房间 ID

Msg

字符串

发送的消息信息

相关回调函数:

ExeonMessage (msg,from)

功能描述:

向指定房间发送消息

sendPrivateMessage ——私聊

入参

类型

描述

Roomid

字符串

房间 ID

Msg

字符串

发送的消息信息

To

字符串

发往房间的某人(房间 nick

相关回调函数:

ExeonMessage (msg,from)

功能描述:

向指定房间的指定人私聊

changeSubject ——修改主题

入参

类型

描述

Roomid

字符串

房间 ID

Newsubject

字符串

房间主题

相关回调函数:

ExeonChangeSubject(roomid,subject)

功能描述:

修改房间主题,必须有权限,否则将发生错误

renameNickRoom ——修改聊天室昵称

入参

类型

描述

Roomid

字符串

房间 ID

Newnick

字符串

新昵称

相关回调函数:

ExeonNickname(room,nickname)

功能描述:

修改房间昵称,回调中包含新的昵称名

roomInviteOne ——邀请

入参

类型

描述

Roomid

字符串

房间 ID

Jid

字符串

邀请对象

Reason

字符串

邀请理由

相关回调函数:

ExeonRoomInvite(roomid,from,reason)

功能描述:

发送加入房间邀请给好友(或指定 JID

requestRoomMember ——请求房间成员

入参

类型

描述

Roomid

字符串

房间 ID

相关回调函数:

ExeOnRequestRoomMember(roomid,list )

功能描述:

请求房间成员信息

ExeOnRequestRoomMember 中的 list 参数为一对象数组,包括如下信息:

js 遍历代码示例:

for(var i=0;i<list.length;i++){

       list[i].jid :成员 JID

       list[i].role :成员在房间的角色

       list[i].nickname :成员在房间的名称 *

       list[i].show :成员在房间的状态, normal,dnd,xa,away

       list[i].affiliation :成员在房间的从属关系

}

kickoff ——踢人

入参

类型

描述

Roomid

字符串

房间 ID

vnick

字符串

房间昵称

相关回调函数:

 

功能描述:

将指定人从指定房间中踢出( admin,owner

grant ——设置 / 取消管理员

入参

类型

描述

roomid

字符串

房间 ID

jid

字符串

所要设置的用户 JID

affication

字符串

用户设置的角色( admin/ 其他字符

相关回调函数:

 

功能描述:

设置 / 取消管理员角色

Affication admin 时为设置管理员,其他字符为取消管理员角色

 

requestAffiliation —— 请求同类角色信息

 

分享到:
评论
3 楼 xokao 2008-11-14  
以前有过这样的想法,但搜了,觉得有在重复造轮子的感觉。
BTW: 与MSN GTalk 都可以通讯,但唯独QQ,用得是其自己独有的协议,且加密了的
2 楼 kongshanxuelin 2008-11-12  
p2picq 写道

WQ 用XIFF实现的 : www.p2picq.com/wq/index.html

我的email: chenliguo79@21cn.com

多交流。

看了一下,做得挺好的,呵呵
1 楼 p2picq 2008-11-11  
WQ 用XIFF实现的 : www.p2picq.com/wq/index.html

我的email: chenliguo79@21cn.com

多交流。

相关推荐

    MoChat企业微信SCRM系统,基于企业微信的开源应用开发框架&引擎,也是一套通用的企业私域流量管理系统!

    MoChat 是开源的企业微信应用开发框架&引擎,是一套通用的企业微信多租户SaaS管理系统,得益于 Swoole 和 Hyperf 框架的优秀,MoChat 可提供超高性能的同时,也保持着极其灵活的可扩展性。 应用场景 可用于电商、...

    nodejs+websocket+nginx服务器开发实时在线聊天室项目源码.rar

    在本项目中,“nodejs+websocket+nginx服务器开发实时在线聊天室项目源码”是一个基于Node.js、WebSocket和Nginx构建的实时在线聊天室应用。这个应用利用了WebSocket技术来实现实时通信,Node.js作为后端服务器处理...

    聊天程序 C++编写 局域网 源代码

    标题中的“聊天程序 C++编写 局域网 源代码”揭示了我们要讨论的核心内容:一个使用C++编程语言编写的局域网聊天应用程序,它提供了源代码供学习者研究...此外,它也为那些希望扩展功能或进行二次开发的人提供了基础。

    Node.js-基于nodeexpress的聊天室

    在聊天室应用中,你可能会使用模板引擎渲染聊天界面,显示历史消息和在线用户列表。 7. **JSON Web Tokens (JWT) 认证**:为了保护聊天室的安全,可以使用 JWT 进行用户身份验证。JWT 可以在客户端和服务器之间安全...

    Unity + Photon 线上游戏开发入门.pdf

    而Photon则是一个通用型的Socket服务器软件包,用于多人线上游戏、聊天室以及大厅游戏的开发。 课程内容涵盖了从Unity3D和Photon的基础概念讲起,到详细介绍如何使用这些工具进行线上游戏的开发。文档内容组织成多...

    通用客户开发方案

    通用客户开发方案中,获客策略可能包括内容营销、社交媒体推广、搜索引擎优化(SEO)、线下活动、合作伙伴关系等。每种策略都有其特点和适用场景,企业应根据自身资源和目标市场选择合适的方法。 四、销售流程优化 ...

    Ichat聊天工具 C++

    C++特别适合开发底层系统,如操作系统、游戏引擎以及像Ichat这样的网络应用程序。 1. **Socket编程**:在Ichat中,socket编程是实现客户端与服务器之间通信的核心技术。Socket是网络编程中的接口,它允许程序通过...

    C++聊天室服务器,基于sylar框架开发,使用http服务器做资源服务,

    游戏开发领域中,C++由于其高效性和广泛应用,在开发高性能游戏和游戏引擎中扮演着重要角色。在嵌入式系统领域,C++的高效和灵活性使其成为理想选择。此外,C++还广泛应用于桌面应用、Web浏览器、操作系统、编译器、...

    基于VS2020的聊天程序

    C++是一种通用的、面向对象的编程语言,因其高效性和灵活性而常用于系统软件、游戏引擎、桌面应用,以及像聊天程序这样的网络应用。C++支持多线程编程,这对于构建聊天应用至关重要,因为聊天通常需要处理并发的用户...

    CSURPE-Companion:一个使用Complete Stranger的通用角色扮演引擎(CSURPE)的RPG东西的Discord机器人

    CSURPE-Companion是一个基于Discord的机器人应用,它利用了Complete Stranger的通用角色扮演游戏引擎(CSURPE)来为RPG爱好者提供一个在线的角色扮演游戏体验。这个平台结合了现代社交媒体工具Discord的便捷性与传统...

    delphi xe 10.4 socket聊天示例

    在本示例中,我们探讨的是使用Delphi XE 10.4开发的一个基于Socket通信的简单聊天应用。这个应用的核心技术包括TServerSocket和TClientSocket组件,SQLite3数据库,以及自定义类和数组的运用。让我们逐一深入解析...

    前端和技术web以及脚步开发

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行开发。Node.js的非阻塞I/O模型和事件驱动使其在处理高并发请求时表现出色,尤其适合实时应用如聊天系统、实时统计或...

    ios-单聊界面,人工智障。通用自动回复机器人。.zip

    它们可能是通过集成第三方服务如IBM Watson或Google Dialogflow实现的,也可以是自建的简单规则引擎。 5. **消息推送与实时更新**:为了实现实时聊天功能,开发者可能采用了Apple的Push Notification Service(APNS...

    mochat:基于企业微信的开源应用开发框架&引擎,也是一套通用的企业私域流量管理系统!

    MoChat是开源的企业微信应用开发框架和引擎,是一套通用的企业微信管理系统,得益于Swoole和Hyperf框架的优秀,MoChat可提供超高性能的同时,也保持着极其灵活的可扩展性。 应用场景 可用于电力商,金融,零售,餐饮...

    通用的企业微信多租户SaaS管理系统源码,得益于 Swoole 和 Hyperf 框架的优秀,超高性能灵活的可扩展性。

    开源的企业微信应用开发框架&引擎,是一套通用的企业微信多租户SaaS管理系统,得益于 Swoole 和 Hyperf 框架的优秀,可提供超高性能的同时,也保持着极其灵活的可扩展性。 应用场景 可用于电商、金融、零售、餐饮...

    mochat-java:基于企业微信的开源应用开发框架&引擎,也是一套通用的企业私域流量管理系统!

    MoChat是开放源码的企业微信应用开发框架和引擎,是一套通用的企业微信管理系统,得益于Hyperf框架的优秀,MoChat可提供超高性能的同时,也保持着极其灵活的可扩展性。 应用场景 可用于电力商,金融,零售,餐饮服装...

    基于C++的集群聊天服务器.zip

    基于C++的集群聊天服务器 C++是一种广泛使用的编程语言,它是由Bjarne Stroustrup于1979年在新泽西州美利山贝尔实验室开始设计开发的。C++是C语言的扩展,旨在提供更强大的编程能力,包括面向对象编程和泛型...

    基于C++和epoll实现的聊天室.zip

    基于C++和epoll实现的聊天室C++是一种广泛使用的编程语言,它是由Bjarne Stroustrup于1979年在新泽西州美利山贝尔实验室开始设计开发的。C++是C语言的扩展,旨在提供更强大的编程能力,包括面向对象编程和...

    行业文档-设计装置-一种通用游戏平台.zip

    在IT行业中,游戏平台的设计与开发是一项复杂而关键的任务,涉及到多方面的技术和概念。"行业文档-设计装置-一...对这份文档的深入学习将有助于理解通用游戏平台的全貌,为相关领域的开发人员和设计师提供宝贵的指导。

    基于C++ Muduo网络库的集群聊天服务器项目.zip

    基于C++ Muduo网络库的集群聊天服务器项目C++是一种广泛使用的编程语言,它是由Bjarne Stroustrup于1979年在新泽西州美利山贝尔实验室开始设计开发的。C++是C语言的扩展,旨在提供更强大的编程能力,包括面向...

Global site tag (gtag.js) - Google Analytics