默认
发表评论 11
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] MobileIMSDK集成问题求救:每次上传文件,服务端都会报错误
阅读(32885) | 评论(11 收藏 淘帖1
我是用springboot框架集成MobileIMSDK服务端和H5端,现在我在这个工程中写了两个服务是:上传文件和下载文件,今天测试发现每次上传文件时,服务端都会报一个错误,但又不影响文件上传。看了错误内容大概是说端口被占用,又提到了MobileIMSDK ,如下信息:

  : [IMCORE] 配置项:未开启与MobileIMSDK Web的互通.
java.net.BindException: Address already in use: bind

at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:433)
        at sun.nio.ch.DatagramChannelImpl.bind(DatagramChannelImpl.java:691)
        at sun.nio.ch.DatagramSocketAdaptor.bind(DatagramSocketAdaptor.java:91)
        at net.x52im.mobileimsdk.server.network.udp.MBUDPServerChannel.doBind(MBUDPServerChannel.java:147)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:550)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1334)
        at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:506)
        at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:491)
        at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:973)
        at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:248)
        at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:356)



不知道该怎么解决,求大佬指教,谢谢

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:[已回复] 求助登录MobileIMSDK的IM服务器的时候判断网络缓存下一篇:开源轻量级IM框架 MobileIMSDK v6.1.2 已发布!

本帖已收录至以下技术专辑

推荐方案
评论 11
引用:夜散点炽 发表于 2021-12-15 14:16
正常不会有多实例,我只在工程启动入口处启动了一下IM,后面没不再管这块了呀

你在用Spring boot之前,Spring MVC框架这些东西,还有Java Web这些知识,你听都没听过是吗
引用:夜散点炽 发表于 2021-12-15 14:14
是的,按教程建的工程

正常不会有多实例,我只在工程启动入口处启动了一下IM,后面没不再管这块了呀
签名: 学习之路遥遥无期呀
引用:JackJiang 发表于 2021-12-15 11:56
在这个帖子里讨论吧,这个链接里的代码,就是你现在的问题代码是吗:http://www.52im.net/thread-3784-1-1.h ...

是的,按教程建的工程
签名: 学习之路遥遥无期呀
引用:JackJiang 发表于 2021-12-15 12:07
我简单看了一下你的代码,你为何分成了好几个工程?这样的话,你的MobileIMSDK不就会存在多个实例了吗。。 ...

这不是正常应该要这样建工程吗?我看了教程都是这么建的,用成4个模块,控制层,服务层,数据库层,还有组件层,层层相依赖,最外层是父级,所有mave依赖都写在里面,说这样可以避免依赖冲突呀
签名: 学习之路遥遥无期呀
我简单看了一下你的代码,你为何分成了好几个工程?这样的话,你的MobileIMSDK不就会存在多个实例了吗。。。。
你肯定得合成一个工程,确保MobileIMSDK实例必须唯一,也就是所有的代码调用,都在同一个spring运行实例中,否则就完赎子。。。
在这个帖子里讨论吧,这个链接里的代码,就是你现在的问题代码是吗:http://www.52im.net/thread-3784-1-1.html
引用:夜散点炽 发表于 2021-12-15 10:43
// TODO 跨服桥接器MQ的URI(本参数只在ServerLauncher.bridgeEnabled为true时有意义)
                BridgeProcessor ...

你的问题,跟这个没有任何关系,赶紧恢复默认状态!
引用:夜散点炽 发表于 2021-12-15 10:38
ServerLauncher.bridgeEnabled = true;
但我把这个改成true时,启动时就报异常了,异常信息如下
Excepti ...

你的问题,跟这个没有任何关系,赶紧恢复默认状态!
你之前是做andriod开发的,后端的这些东西,从来都没有碰过是吗?
我感觉你要补的课太多了。。。。

首先,先不管文件上传下载功能怎么去实现,先追查一下,为什么发生端口占用问题。你先把电脑重启一下,然后再跑你的服务端。端口被占用,表示你的MobileIMSDK服务端实例被重复运行了!
// TODO 跨服桥接器MQ的URI(本参数只在ServerLauncher.bridgeEnabled为true时有意义)
                BridgeProcessor.IMMQ_URI = "amqp://js:19844713@192.168.0.190";
这个参数的IP是填服务端IP吗?
签名: 学习之路遥遥无期呀
        ServerLauncher.bridgeEnabled = true;
但我把这个改成true时,启动时就报异常了,异常信息如下
Exception in thread "restartedMain" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)
Caused by: java.lang.NoSuchMethodError: com.rabbitmq.client.ConnectionFactory.setUri(Ljava/lang/String;)V
        at net.x52im.mobileimsdk.server.bridge.MQProvider.init(MQProvider.java:186)
        at net.x52im.mobileimsdk.server.bridge.MQProvider.<init>(MQProvider.java:175)
        at net.x52im.mobileimsdk.server.bridge.MQProvider.<init>(MQProvider.java:137)
        at net.x52im.mobileimsdk.server.processor.BridgeProcessor.<init>(BridgeProcessor.java:50)
        at net.x52im.mobileimsdk.server.ServerCoreHandler$1.<init>(ServerCoreHandler.java:106)
        at net.x52im.mobileimsdk.server.ServerCoreHandler.createBridgeProcessor(ServerCoreHandler.java:106)
        at net.x52im.mobileimsdk.server.ServerCoreHandler.<init>(ServerCoreHandler.java:78)
        at net.x52im.mobileimsdk.server.ServerLauncher.initServerCoreHandler(ServerLauncher.java:154)
        at net.x52im.mobileimsdk.server.ServerLauncher.startup(ServerLauncher.java:208)
        at com.linjp.im.ServerLauncherImpl.<init>(ServerLauncherImpl.java:89)
        at com.linjp.api.ApiApplication.main(ApiApplication.java:32)
        ... 5 more

               
签名: 学习之路遥遥无期呀
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部