s_demo_src.png (25.03 KB, 下载次数: 1309)
下载附件 保存到相册
3 年前 上传
s_sdk_binary.png (35.29 KB, 下载次数: 1509)
提示:MobileIMSDK的Server端lib包支持Java 1.7(含)及以上版本。
QQ20151119-1.png (38.42 KB, 下载次数: 1495)
8 年前 上传
public class ServerEventListenerImpl implements ServerEventListener { // 用户身份验证回调方法定义 // 服务端的应用层可在本方法中实现用户登陆验证。详细请参见API文档说明。 @Override public int onUserLoginVerify(String userId, String token, String extra, Channel session) { System.out.println("正在调用回调方法:OnVerifyUserCallBack..."); return 0; } // 用户登录验证成功后的回调方法定义 // 服务端的应用层通常可在本方法中实现用户上线通知等。详细请参见API文档说明。 @Override public void onUserLoginSucess(String userId, String extra, Channel session) { System.out.println("正在调用回调方法:OnUserLoginAction_CallBack..."); } // 用户退出登录回调方法定义。 // 服务端的应用层通常可在本方法中实现用户下线通知等。详细请参见API文档说明。 @Override public void onUserLogout(String userId, Object obj, Channel session) { System.out.println("正在调用回调方法:OnUserLogoutAction_CallBack..."); } // 通用数据回调方法定义(客户端发给服务端的(即接收user_id=0)) // 上层通常可在本方法中实现如:添加好友请求等业务实现。详细请参见API文档说明。 @Override public boolean onTransferMessage4C2S(Protocal p, Channel session) { System.out.println("收到了客户端"+from_user_id+"发给服务端的消息:str="+dataContent); return true; } // 通道数据回调函数定义(客户端发给客户端的(即接收user_id>0))。详细请参见API文档说明。 // 上层通常可在本方法中实现用户聊天信息的收集,以便后期监控分析用户的行为等^_^。 @Override public void onTransferMessage4C2C(Protocal p) { System.out.println("收到了客户端"+from_user_id+"发给客户端"+userId+"的消息:str="+dataContent); } // 通用数据实时发送失败后的回调函数定义(客户端发给客户端的(即接收user_id>0)) // 开发者可在此方法中处理离线消息的保存等。详细请参见API文档说明。 @Override public boolean onTransferMessage_RealTimeSendFaild(Protocal p) { System.out.println("客户端"+from_user_id+"发给客户端"+userId+"的消息:str="+dataContent +"因实时发送没有成功,需要上层应用作离线处理哦,否则此消息将被丢弃."); return false; } }
public class MessageQoSEventS2CListnerImpl implements MessageQoSEventListenerS2C { // 消息无法完成实时送达的通知 @Override public void messagesLost(ArrayList<;Protocal> lostMessages) { System.out.println("【QoS_S2C事件】收到系统的未实时送达事件通知,当前共有" +lostMessages.size()+"个包QoS保证机制结束,判定为【无法实时送达】!"); } // 接收方已成功收到消息的通知 @Override public void messagesBeReceived(String theFingerPrint) { if(theFingerPrint != null) { System.out.println("【QoS_S2C事件】收到对方已收到消息事件的通知,fp="+theFingerPrint); } } }
public class ServerLauncherImpl extends ServerLauncher { /** * 静态类方法:进行一些全局配置设置。 */ static { // 设置MobileIMSDK服务端的UDP网络监听端口 GatewayUDP.PORT = 7901; // 设置MobileIMSDK服务端的TCP网络监听端口 GatewayTCP.PORT = 8901; // 设置MobileIMSDK服务端仅支持UDP协议 // ServerLauncher.supportedGateways = Gateway.SUPPORT_UDP; // 设置MobileIMSDK服务端仅支持TCP协议 // ServerLauncher.supportedGateways = Gateway.SUPPORT_TCP; // 设置MobileIMSDK服务端同时支持UDP、TCP两种协议 ServerLauncher.supportedGateways = Gateway.SUPPORT_UDP | Gateway.SUPPORT_TCP; // 开/关Demog日志的输出 QoS4SendDaemonS2C.getInstance().setDebugable(true); QoS4ReciveDaemonC2S.getInstance().setDebugable(true); ServerLauncher.debug = true; // 与客户端协商一致的心跳频率模式设置 // ServerToolKits.setSenseModeUDP(SenseModeUDP.MODE_15S); // ServerToolKits.setSenseModeTCP(SenseModeTCP.MODE_15S); // 关闭与Web端的消息互通桥接器(其实SDK中默认就是false) ServerLauncher.bridgeEnabled = false; // TODO 跨服桥接器MQ的URI(本参数只在ServerLauncher.bridgeEnabled为true时有意义) // BridgeProcessor.IMMQ_URI = "amqp://js:19844713@192.168.0.190"; // 设置最大TCP帧内容长度(不设置则默认最大是 6 * 1024字节) // GatewayTCP.TCP_FRAME_MAX_BODY_LENGTH = 60 * 1024; } /** * 实例构造方法。 * * @throws IOException */ public ServerLauncherImpl() throws IOException { super(); } /** * 初始化消息处理事件监听者. */ @Override protected void initListeners() { // ** 设置各种回调事件处理实现类 this.setServerEventListener(new ServerEventListenerImpl()); this.setServerMessageQoSEventListener(new MessageQoSEventS2CListnerImpl()); } public static void main(String[] args) throws Exception { // 实例化后记得startup哦,单独startup()的目的是让调用者可以延迟决定何时真正启动IM服务 final ServerLauncherImpl sli = new ServerLauncherImpl(); // 启动MobileIMSDK服务端的Demo sli.startup(); // 加一个钩子,确保在JVM退出时释放netty的资源 Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { sli.shutdown(); } }); } }
为了配合Android、iOS客户端,Server端也需要进行设置。
// MobileIMSDK核心IM框架的服务端敏感度模式设置 ServerLauncherImpl.setSenseMode(SenseMode.MODE_15S);
s_api_doc.png (104.57 KB, 下载次数: 1449)
1-5.png (32.71 KB, 下载次数: 1414)
1-6.png (34.19 KB, 下载次数: 1383)
1.png (12.07 KB, 下载次数: 641)
1 年前 上传
2.png (27.42 KB, 下载次数: 626)
3.png (23.35 KB, 下载次数: 668)
4.png (62.97 KB, 下载次数: 652)
5.png (62 KB, 下载次数: 613)
all-in-one.png (68.81 KB, 下载次数: 523)
11 个月前 上传
来源:即时通讯网 - 即时通讯开发者社区!
轻量级开源移动端即时通讯框架。
快速入门 / 性能 / 指南 / 提问
轻量级Web端即时通讯框架。
详细介绍 / 精编源码 / 手册教程
移动端实时音视频框架。
详细介绍 / 性能测试 / 安装体验
基于MobileIMSDK的移动IM系统。
详细介绍 / 产品截图 / 安装体验
一套产品级Web端IM系统。
详细介绍 / 产品截图 / 演示视频
引用此评论
引用:JackJiang 发表于 2023-03-20 17:51 没让你开啊,谁让你开的
引用:zcy 发表于 2023-03-20 17:47 还有个疑问大佬,我开启了跨服桥接器,但是没有B2B的实际业务,只存在C2S S2C这两种模式,为什么会有信息 ...
引用:JackJiang 发表于 2023-03-20 16:24 完成跟MobileIMSDK-Web的互通
引用:zcy 发表于 2023-03-20 13:53 感谢大佬分享,跨服桥接器是为了完成什么任务
引用:139yu 发表于 2022-09-13 15:48 jdk使用的是java11嘛
引用:jungle1992 发表于 2022-01-22 17:36 原来如此,按照你的demo 可以运行起来了,打算试一下您提供的现成的client demo,感谢楼主,感谢52IM:lo ...
引用:JackJiang 发表于 2022-01-22 11:31 这种完整的通信框架肯定不是你用hello world的方法能测试的好的。 因为对于原始的tcp通信,框架它本身 ...
引用:jungle1992 发表于 2022-01-22 10:34 我下载的server的demo 并且跑起来了 但是我用调试助手连接的时候,出现这个问题,请问楼主这是啥呢?
WX20220122-112748@2x.png (251.48 KB, 下载次数: 1334)
2 年前 上传
000000587b22627269646765223a66616c73652c2274797065223a352c2264617461436f6e74656e74223a2241222c2266726f6d223a22616161222c22746f223a2230222c22516f53223a66616c73652c227479706575223a2d317d
测试工具(停止时).png (41.35 KB, 下载次数: 1266)
测试工具(定时发送时).png (51.18 KB, 下载次数: 1224)
1.jpg (403.35 KB, 下载次数: 1181)
引用:派大星先生 发表于 2020-08-12 11:10 我不知道怎么让ssm项目启动完成后,调用服务端ServerLauncherImpl类
引用:JackJiang 发表于 2020-08-12 10:35 报什么错?
引用:派大星先生 发表于 2020-08-12 07:59 ssm项目怎么启动后启动im服务啊,一直报错
引用:小小搬码工 发表于 2019-02-26 16:57 那谢谢,我了解,确实跨集群实现比较麻烦,你发的报告跨国的单一架构的虽然有时有些延迟,只要不要太大就 ...
引用:JackJiang 发表于 2019-02-26 16:38 其实mobileimsdk设计的时候就考虑了跨国运营,你可以看看这个运营过的产品数据:http://www.52im.net/thr ...
引用:小小搬码工 发表于 2019-02-26 16:36 其实主要应用的范围比较广,就是差不多是全球的,一台服务器有些范围覆盖不到,通信会差,所以打算在不同 ...
精华主题数超过100个。
连续任职达2年以上的合格正式版主
为论区做出突出贡献的开发者、版主等。
Copyright © 2014-2024 即时通讯网 - 即时通讯开发者社区 / 版本 V4.4
苏州网际时代信息科技有限公司 (苏ICP备16005070号-1)
Processed in 0.125000 second(s), 44 queries , Gzip On.