默认
发表评论 16
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
客户端不是要用Web网页进行聊天吧?只是希望MobileIMSDK的服务端在你的Web服务端工程中启动对吧?
评论 16
如果只是希望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类运行起来就行了,这总归没什么想不明白的吧。
MobileIMSDK-Web版已经发布,专用于手机或PC端浏览器的网页聊天和消息推送:http://www.52im.net/thread-959-1-1.html
引用:longnight0119 发表于 2018-09-14 14:17
WebListener 完整的包名是什么,我这边怎么都找不到这个类 只有 ServletContextListener什么的

我只是举个例子,WebListener是我封装的ServletContextListener
引用:longnight0119 发表于 2018-09-14 17:18
哦,我已经不在web里继承了 重新建了个项目

也可以
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部