默认
发表评论 20
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已解决] MobileIMSDK的iOS端连上服务端,马上就断,发消息会报错
iOS端一连上服务端,发送信息,返回COMMON_DATA_SEND_FAILD,马上就断开连接了,这是为什么?

[已解决] MobileIMSDK的iOS端连上服务端,马上就断,发消息会报错_23333.png

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

上一篇:[已回复] Android端基于MobileIIMSDK老版本UDP协议发送消息过长能否优化下一篇:[已解决] 求助MobileIMSDK Java客户端Demo在JDK17上启动报错

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

推荐方案
评论 20
有没有调登陆方法?

im这种东西是socket长连接,不像http那种短连接随用随连,登陆其实就是建立连接的过程,你仔细对比发下demo里的代码逻辑,从登陆界面的“登陆”按钮的事件开始。

还有疑问,你继续回贴
业务顺序是:第一步,连接;第二步,登录;第三步,发信息(比如身份验证之类的)?
还是和服务端连接上,就可以马上发送信息进行身份验证?

如果要登录的话,是不是服务端那边要给我账号?
签名: 烦死了
引用:JackJiang 发表于 2021-09-29 15:09
有没有调登陆方法?

im这种东西是socket长连接,不像http那种短连接随用随连,登陆其实就是建立连接的过 ...

业务逻辑是 连接、登录、发信息(比如身份验证之类)?
还是一连接上,就可以发信息?
我用demo测试我们的地址,显示登录超时

也是连接上,就断了,报错如下

2021-09-29 15:29:51.087211+0800 MobileIMSDKDemoTCP[1179:27018] 【IMCORE-TCP】isLocalSocketReady()==false,需要先resetLocalUDPSocket()...
2021-09-29 15:29:51.087391+0800 MobileIMSDKDemoTCP[1179:27018] 【IMCORE-TCP】正在closeLocalSocket()...
2021-09-29 15:29:51.087554+0800 MobileIMSDKDemoTCP[1179:27018] 【IMCORE-TCP】new GCDAsyncSocket中...
2021-09-29 15:29:51.087720+0800 MobileIMSDKDemoTCP[1179:27018] 【IMCORE-TCP】localTCPSocket尝试发出连接到目标主机58.22.30.37:8901的动作成功了.
2021-09-29 15:29:51.091597+0800 MobileIMSDKDemoTCP[1179:27018] 【IMCORE-TCP-SOCKET】成收到的了TCP的connect反馈, isConnected?1
2021-09-29 15:29:51.091875+0800 MobileIMSDKDemoTCP[1179:27018] 【IMCORE-TCP】isLocalSocketReady()==true,直接返回本地socket引用哦。
2021-09-29 15:29:51.092107+0800 MobileIMSDKDemoTCP[1179:27018] 【IMCORE-TCP-SOCKET】tag为999的数据已成功Write完成.
2021-09-29 15:29:51.102735+0800 MobileIMSDKDemoTCP[1179:27018] 【IMCORE-TCP-SOCKET】连接已断开【请关注错误信息】,socket.isConnected?0,ClientCoreSDK.connectedToServer?0,error=Error Domain=GCDAsyncSocketErrorDomain Code=7 "Socket closed by remote peer" UserInfo={NSLocalizedDescription=Socket closed by remote peer}


签名: 烦死了
引用:JackJiang 发表于 2021-09-29 15:09
有没有调登陆方法?

im这种东西是socket长连接,不像http那种短连接随用随连,登陆其实就是建立连接的过 ...

有调登陆的方法
签名: 烦死了
引用:JackJiang 发表于 2021-09-29 15:09
有没有调登陆方法?

im这种东西是socket长连接,不像http那种短连接随用随连,登陆其实就是建立连接的过 ...

为什么demo里也登录不了我的服务端?

签名: 烦死了
[ClientCoreSDK setENABLED_DEBUG:YES];

运行的时候,没有debug信息显示,这是为什么呢?
签名: 烦死了
引用:慢慢来嘛 发表于 2021-09-29 15:57
有调登陆的方法

当然是登陆成功后才能发消息了,你仔细去读一遍Demo里的代码,demo里的登陆成功与否,是通过登陆回调试实现。demo的目的就是让你照着写,别想当然的去弄
引用:慢慢来嘛 发表于 2021-09-29 16:01
为什么demo里也登录不了我的服务端?

那表示你服务端端口不通,把防火墙都关掉,网络通信程序开放端口是基本能力,要好好学一下
引用:慢慢来嘛 发表于 2021-09-29 16:43
[ClientCoreSDK setENABLED_DEBUG:YES];

运行的时候,没有debug信息显示,这是为什么呢?

不可能哟,要不然你就把整个sdk源码放工程里玩吧。我从你的问题上看出来,你逻辑有点乱,磨刀不误砍柴功,把demo读透后再照着动手不迟
引用:JackJiang 发表于 2021-09-30 09:50
不可能哟,要不然你就把整个sdk源码放工程里玩吧。我从你的问题上看出来,你逻辑有点乱,磨刀不误砍柴功 ...

都是按你的教程来的,就加入这些 [已解决] MobileIMSDK的iOS端连上服务端,马上就断,发消息会报错_555.png
签名: 烦死了
引用:慢慢来嘛 发表于 2021-09-30 10:28
都是按你的教程来的,就加入这些

你要么就直接在Demo工程上改吧,加上你的业务逻辑
引用:JackJiang 发表于 2021-09-30 09:50
不可能哟,要不然你就把整个sdk源码放工程里玩吧。我从你的问题上看出来,你逻辑有点乱,磨刀不误砍柴功 ...

主要是服务端跟我说,先连接,再身份验证,没说要登录。但是看demo却有登录,所以把我就搞乱了。
所以我不明白身份验证=登录?还是要先登录再身份验证?
签名: 烦死了
引用:慢慢来嘛 发表于 2021-09-29 16:43
[ClientCoreSDK setENABLED_DEBUG:YES];

运行的时候,没有debug信息显示,这是为什么呢?

[已解决] MobileIMSDK的iOS端连上服务端,马上就断,发消息会报错_666.png

没有debug的原因找到了,是因为我把这个开启了。去掉了,debug信息就显示了


签名: 烦死了
引用:慢慢来嘛 发表于 2021-09-30 11:00
主要是服务端跟我说,先连接,再身份验证,没说要登录。但是看demo却有登录,所以把我就搞乱了。
所以我 ...

别听你服务端瞎几巴说,demo让你怎么做,你就怎么做。

但一个生产环境的im,肯定是选通过http进行身份认证,认证完后拿到http返回和token再来“登陆”im服务(im里的这个“登陆”,准确地说应该叫“建立连接”(就是你写网络编程代码时的各种open socket操作),但为了易懂,也叫“登陆”)。
解决了
签名: 烦死了
解决了,感激不尽!
签名: 烦死了
引用:慢慢来嘛 发表于 2021-10-11 17:02
解决了,感激不尽!

没猜错的话,肯定是傻瓜问题对吧。。。。
引用:JackJiang 发表于 2021-10-11 17:43
没猜错的话,肯定是傻瓜问题对吧。。。。

我们的技术总监是后台,他修改了参数,也不说,也没文档出来,搞半天,服了
签名: 烦死了
引用:慢慢来嘛 发表于 2021-11-11 14:17
我们的技术总监是后台,他修改了参数,也不说,也没文档出来,搞半天,服了

给老板打小报告,然后你上位。。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部