private int send(byte[] fullProtocalBytes, int dataLen) { if(!ClientCoreSDK.getInstance().isInitialed()) return ErrorCode.ForC.CLIENT_SDK_NO_INITIALED; if(!ClientCoreSDK.getInstance().isLocalDeviceNetworkOk()) { Log.e(TAG, "【IMCORE】本地网络不能工作,send数据没有继续!"); return ErrorCode.ForC.LOCAL_NETWORK_NOT_WORKING; } DatagramSocket ds = LocalUDPSocketProvider.getInstance().getLocalUDPSocket(); // 如果Socket没有连接上服务端 if(ds != null && !ds.isConnected()) { try { if(ConfigEntity.serverIP == null) { Log.w(TAG, "【IMCORE】send数据没有继续,原因是ConfigEntity.server_ip==null!"); return ErrorCode.ForC.TO_SERVER_NET_INFO_NOT_SETUP; } // 即刻连接上服务端(如果不connect,即使在DataProgram中设置了远程id和地址则服务端MINA也收不到,跟普通的服 // 务端UDP貌似不太一样,普通UDP时客户端无需先connect可以直接send设置好远程ip和端口的DataPragramPackage) ds.connect(InetAddress.getByName(ConfigEntity.serverIP), ConfigEntity.serverUDPPort); Log.e(TAG, "----ip----"+ConfigEntity.serverIP); } catch (Exception e) { Log.w(TAG, "【IMCORE】send时出错,原因是:"+e.getMessage(), e); return ErrorCode.ForC.BAD_CONNECT_TO_SERVER; } } return UDPUtils.send(ds, fullProtocalBytes, dataLen) ? ErrorCode.COMMON_CODE_OK : ErrorCode.COMMON_DATA_SEND_FAILD; }
来源:即时通讯网 - 即时通讯开发者社区!
轻量级开源移动端即时通讯框架。
快速入门 / 性能 / 指南 / 提问
轻量级Web端即时通讯框架。
详细介绍 / 精编源码 / 手册教程
移动端实时音视频框架。
详细介绍 / 性能测试 / 安装体验
基于MobileIMSDK的移动IM系统。
详细介绍 / 产品截图 / 安装体验
一套产品级Web端IM系统。
详细介绍 / 产品截图 / 演示视频
引用此评论
引用:JackJiang 发表于 2017-03-08 14:53 你是打算自已写IM吗?
引用:niebiao 发表于 2017-03-08 14:39 谢谢你的细心解答
引用:JackJiang 发表于 2017-03-08 14:15 不用纠结了,我在Demo里加了一行代码,你去看看MobileIMSDK v2.1.9吧,很简单。 原因就是:UDP是无连 ...
引用:niebiao 发表于 2017-03-08 14:10 谢谢你的解答,我只是感觉很奇怪,为什么会出现这种情况,感觉弄不明白就不爽。有一种情况是到时候我们开 ...
引用:JackJiang 发表于 2017-03-08 11:54 你不需要纠结这个问题,因为你的app里不可能连ip都会弄错。 其实Demo里我一开始就知道有这种可能性,但 ...
a.png (34.16 KB, 下载次数: 2848)
下载附件 保存到相册
7 年前 上传
精华主题数超过100个。
连续任职达2年以上的合格正式版主
为论区做出突出贡献的开发者、版主等。
Copyright © 2014-2024 即时通讯网 - 即时通讯开发者社区 / 版本 V4.4
苏州网际时代信息科技有限公司 (苏ICP备16005070号-1)
Processed in 0.109377 second(s), 35 queries , Gzip On.