时间:2015-08-29 来源:

AndroidUDP通信的成败判断 【移动开发】

最近在 Android 开发的时候遇到一个问题承接网页制作,就是在服务器与客户端采用UDP协议通信的时候,承接网页制作如何判断一开始双方建立了连接.

想了两个解决方法,html静态页面制作一是设计一个定时器,网站div+css规定 DatagramSocket.receive() 在一定时间内没有接收到消息则认为通信失败;一是客户端主动去扫描服务器的IP及端口符合w3c标准,确认服务器是存在并启动的.

版权声明:本文为博主原创文章,手机html制作未经博主允许不得转载.

public void setSoTimeout(int timeout) throws SocketException 启用/禁用带有指定超时值的 SO_TIMEOUT,以毫秒为单位.将此选项设为非零的超时值时,网页外包接活对此 DatagramSocket 调用 receive() 将只阻塞此时间长度.如果超过超时值,虽然 DatagramSocket 仍旧有效.选项必须在进入阻塞操作前被启用才能生效.超时值必须是 > 0 的数.超时值为 0 被解释为无穷大超时值. 参数: timeout - 指定的以毫秒为单位的超时值. 抛出: SocketException - 如果底层协议出现错误承接网页制作,例如 UDP 错误.

注:

以下是客户端的部分代码

“连接建立”很容易实现,承接网页制作服务器受到命令web切图报价,返回类似ACK等信息,web切图报价客户端使用 DatagramSocket.receive() 方法接收信息符合w3c标准,即可知道双方已完成一次交互,html切图制作通信成功.而要判断“连接失败”, data.length, Settings.socketnum); socket.send(outPacket); System.out.println(new String (outPacket.getData())); byte[] buffer = "ACK".getBytes(); DatagramPacket inPacket = new DatagramPacket(buffer, buffer.length); try { //设置超时时间,div前端切图3秒 socket.setSoTimeout(3000); socket.receive(inPacket); System.out.println(new String (inPacket.getData())); } catch (Exception e) { Toast.makeText(ConnectActivity.this, Toast.LENGTH_SHORT).show(); throw e; } finally{ socket.close(); } Intent intent = new Intent(ConnectActivity.this, "连接成功", Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); } }

后来找了一下资料,jpg或psd转html发现 DatagramSocket 存在方法 setSoTimeout(),该方法已经帮我们设置好一个定时器,web前端制作超过规定超时值,就会 抛出 SocketException.

点击次数:2387
作者:
web前端行业资讯
Web new NewsList
微软发布WindowsServerBuild17074更新 ,,2018年01月18日凭借一个AI小功能,这款Google应用冲上苹果AppStore榜首 ,,2018年01月18日百度数据可视化实验室正式成立,发布深度学习可视化平台VisualDL ,,2018年01月18日OpenAI开源最新工具包,模型增大10倍只需额外增加20%计算时间 ,,2018年01月18日百度手机输入法8.0正式发布:支持多人语音速记 ,,2018年01月18日CSDN宣布收购TinyMind团队并升级为AI社区 ,,2018年01月18日甲骨文发布补丁修复英特尔芯片漏洞造成的问题 ,,2018年01月18日权威!官方发布CPU熔断和幽灵漏洞防范指引:附补丁下载 ,,2018年01月18日Oracle宣布新的JavaChampions ,,2018年01月18日Fedora28壁纸征集活动现已开幕:将持续至2月13日 ,,2018年01月18日苹果WebKit团队发布Speedometer2.0网页响应测试工具 ,,2018年01月18日百度输入法8.0后天发布:全感官AI输入 ,,2018年01月18日腾讯和乐高合作:共同研发智能玩具、游戏 ,,2018年01月18日HomePod上市日益临近智能音箱市场吸引力越来越大 ,,2018年01月18日英特尔公布修补漏洞后PC性能数据:8代CPU影响最小 ,,2018年01月18日云存储公司Dropbox秘密提交IPO申请估值超百亿美元 ,,2018年01月18日iPod之父:防手机上瘾无技术难度苹果谷歌应承担责任 ,,2018年01月18日芯片不安全英特尔云客户考虑转用AMD等对手处理器 ,,2018年01月18日2018年Java展望 ,,2018年01月18日区块链有多火?快播流量矿石遭20多万人疯抢 ,,2018年01月18日Intel搞定神经拟态芯片:模拟人类大脑、自主学习 ,,2018年01月18日阿里巴巴发布IoTConnect开放连接协议,盼推动语音互动入口普及 ,,2018年01月18日区块链火了,全球大佬们怎么看? ,,2018年01月18日Facebook正测试新功能主推本地新闻资讯 ,,2018年01月18日在GooglePlay中发现使用Kotlin开发的安卓恶意软件 ,,2018年01月18日VisualStudio201715.6预览版本2,增加新功能 ,,2018年01月18日百度陆奇:AI是5G最好的加速器 ,,2018年01月18日PinterestCEO:不同于谷歌和Facebook,我们走了第三条路 ,,2018年01月18日腾讯加码区块链项目已悄然注册“以太锁”商标 ,,2018年01月18日3D打印脑组织?科学家正在向这一目标正在前进 ,,2018年01月18日JavaScript对象、函数和继承2014年01月29日(收集)ListView中常用属性 【编程语言】2014年11月06日HDU2028LowestCommonMultiplePlus【stein算法】【水题】2015年01月04日设计模式之简单工厂工厂方法抽象工厂 【架构设计】2015年03月10日Unity学习笔记之四完善Prefab并添加FirstPersonController 【架构设计】2015年02月28日基于Animate.css的jQuery动画特效插件 【移动开发】2015年04月17日非静态内部类可能导致的内存泄漏及其优化 【综合】2015年05月15日杭电HDUACM2000ASCII码排序 【编程语言】2015年04月13日页面回到顶部的三种实现(锚标记,js)2014年01月29日一个大公司程序员的牢骚 【编程语言】2015年08月31日手动编译Clojure 【移动开发】2015年04月17日StretchKeyDimensionstoSeeWhatBreaks 【架构设计】2015年09月04日Asp.net字符串操作基类(安全,替换,分解等)2014年01月29日stl中map自定义比较函数 【编程语言】2015年01月07日JavaScript中的多线程通信【编程语言】2014年11月20日fun2比fun1稍快点【数据库】2015年02月04日DigitSum(n)输入一个非负整数,返回组成它的数字之和,调用DigitSum(1729),返回1+7+2+9,和19和出现的一些问题 【移动开发】2015年03月16日poj2945FindtheClonestrie树的简单应用 【编程语言】2015年07月06日第二十一章,析构函数初探(C++) 【编程语言】2015年06月18日PHP实现字符串转换成查询语句2014年01月28日JavaScript中的eval()函数详解2014年01月29日linux环境下安装apache服务器 【架构设计】2015年02月09日DISCUZ在win2003环境下Unabletoaccess.includecommon.inc.phpin...的问题终极解决方案2014年01月29日jQuery之日期选择器的深入解析2014年01月29日用定制标签库和配置文件实现对JSP页面元素的访问控制2014年01月29日dubbo的简单应用2017年06月21日hdu1011StarshipTroopersDP 【编程语言】2015年01月24日tomcat启动报错:java.net.BindException:Permissiondenied<null>:80 【移动开发】2015年06月05日调侃《HeadFirst设计模式》之工厂模式(二) 【编程语言】2015年04月24日深刻的理解Fragment生命周期都在做什么 【Web前端】2015年05月11日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)