默认

[已解决] 请教如何将MobileIMSDK集成到web项目里,作为服务器使用?

查看数: 65638 | 评论数: 16 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-03-13 11:28

正文摘要:

我想用下载下来的客户端,但是服务端不知道怎么集成,如何写? 客户端如下

评论

hlf520 发表于 5 年前
引用:liu1348789134 发表于 2017-03-14 10:18
创建一个类PortListener继承WebListener,然后覆盖contextInitialized()方法,这个方法里面初始化Serve ...

能发下weblistener的代码吗?我按照这样做,IM的服务是起来了,但web项目起不来
JackJiang 发表于 6 年前
引用:longnight0119 发表于 2018-09-14 17:18
哦,我已经不在web里继承了 重新建了个项目

也可以
longnight0119 发表于 6 年前
引用:JackJiang 发表于 2018-09-14 16:12
我只是举个例子,WebListener是我封装的ServletContextListener

哦,我已经不在web里继承了 重新建了个项目
JackJiang 发表于 6 年前
引用:longnight0119 发表于 2018-09-14 14:17
WebListener 完整的包名是什么,我这边怎么都找不到这个类 只有 ServletContextListener什么的

我只是举个例子,WebListener是我封装的ServletContextListener
longnight0119 发表于 6 年前
引用:JackJiang 发表于 2017-03-13 11:41
如果只是希望MobileIMSDK在Web服务端启动的话,那就简单了,方法有很多,比如这个项目里是把它放到一个WebL ...

WebListener 完整的包名是什么,我这边怎么都找不到这个类 只有 ServletContextListener什么的
350933415 发表于 7 年前
我就把服务端的嵌入web  然后加几个websocket  登录的时候区分一下客户端类型是app还是web  web前端用layim  一个支持web的im妥妥的就出炉了
JackJiang 发表于 7 年前
MobileIMSDK-Web版已经发布,专用于手机或PC端浏览器的网页聊天和消息推送:http://www.52im.net/thread-959-1-1.html
hkxxlyzm 发表于 7 年前
引用:liu1348789134 发表于 2017-03-14 10:18
创建一个类PortListener继承WebListener,然后覆盖contextInitialized()方法,这个方法里面初始化Serve ...

OK   3q
liu1348789134 发表于 7 年前

创建一个类PortListener继承WebListener,然后覆盖contextInitialized()方法,这个方法里面初始化ServerLauncherImpl; 然后在你的web.xml里面配置PortListener,ok
hkxxlyzm 发表于 7 年前
引用:liu1348789134 发表于 2017-03-13 11:43
好的,我试试

咋弄的
liu1348789134 发表于 7 年前
引用:JackJiang 发表于 2017-03-13 11:41
如果只是希望MobileIMSDK在Web服务端启动的话,那就简单了,方法有很多,比如这个项目里是把它放到一个WebL ...

谢谢老师!解决这个问题了
liu1348789134 发表于 7 年前
好的,我试试
JackJiang 发表于 7 年前
如果只是希望MobileIMSDK在Web服务端启动的话,那就简单了,方法有很多,比如这个项目里是把它放到一个WebListener里启动,代码如下,仅供参考:
public class WebListenerEx extends WebListener
{
        /**
         * The web module is ready to process requests.
         * {@inheritDoc}
         */
        public void contextInitialized(ServletContextEvent servletContextEvt)
        {
                super.contextInitialized(servletContextEvt);
                
                try
                {
                        //
                        ChatServerLauncher.getInstance().startup();
                        // 启动定期转储过期图片和语音的处理线程
                        TimmingRestoreImgAndVoice.getInstance().start();
                }
                catch (Exception e)
                {
                        System.err.println("[HTTP]【N】聊天服务器启动时出错,原因是:"+e.getMessage());
                        e.printStackTrace();
                }
        }

        /**
         * The servlet context is about to be shut down.
         * {@inheritDoc}
         */
        public void contextDestroyed(ServletContextEvent servletContextEvt) 
        {
                super.contextDestroyed(servletContextEvt);
                
                try
                {
                        ChatServerLauncher.getInstance().shutdown();
                        // 关闭定期转储过期图片和语音的处理线程
                        TimmingRestoreImgAndVoice.getInstance().stop();
                }
                catch (Exception e)
                {
                        System.err.println("[HTTP]【N】聊天服务器关闭时出错,原因是:"+e.getMessage());
                        e.printStackTrace();
                }
        }
}
其中,ChatServerLauncher这个类就相当于MobileIMSDK的服务端Demo中的ServerLaunchImpl这个类。放到WebListener里启动的原因是,Java 的Web容器会自动执行WebListener里的代码,只要你的Tomcat、WebLogic这种Java Web容器启动,它就自动执行了,很方便。

你还可以用其它方法启动,反正只要让ServerLaunchImpl类运行起来就行了,这总归没什么想不明白的吧。
liu1348789134 发表于 7 年前
我从github上下载了这个客户端,但是我不知道服务端是如何布置的,搞不懂了
liu1348789134 发表于 7 年前

JackJiang 发表于 7 年前
客户端不是要用Web网页进行聊天吧?只是希望MobileIMSDK的服务端在你的Web服务端工程中启动对吧?

返回顶部