bool checkSocketErrorNeedContinue(int count) { if (count > 0) { // recv message ok return true; } else if (count <= 0 && (errno == EAGAIN || errno == EWOULDBLOCK || errno == EINTR)) { // ingore some error as above return true; } LOGE("%s recv the socket len:%d error: %s\n ", __func__, count, strerror(errno)); return false; }
ret = ::recv(socket_, buff, 4, 0); if (!checkErrorNeedContinue(ret)) { break; }
来源:即时通讯网 - 即时通讯开发者社区!
轻量级开源移动端即时通讯框架。
快速入门 / 性能 / 指南 / 提问
轻量级Web端即时通讯框架。
详细介绍 / 精编源码 / 手册教程
移动端实时音视频框架。
详细介绍 / 性能测试 / 安装体验
基于MobileIMSDK的移动IM系统。
详细介绍 / 产品截图 / 安装体验
一套产品级Web端IM系统。
详细介绍 / 产品截图 / 演示视频
引用此评论
引用:JackJiang 发表于 2019-12-18 23:12 最好说的具体一点。你这是在android上用JNI写c的socket代码吗
精华主题数超过100个。
连续任职达2年以上的合格正式版主
为论区做出突出贡献的开发者、版主等。
Copyright © 2014-2024 即时通讯网 - 即时通讯开发者社区 / 版本 V4.4
苏州网际时代信息科技有限公司 (苏ICP备16005070号-1)
Processed in 0.109375 second(s), 33 queries , Gzip On.