- 1、本文档共49页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Java Socket的自定义协议,实现Android与服务器的长连接(一)Socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口,通常也称作套接字。套接字之间的连接过程可以分为三个步骤:客户端请求,服务端回复收到,客户端收到服务端的回复,即三次握手。连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例完成所需的会话。作者:枚杉来源:segmentfault|2016-12-05 17:08?收藏??分享一、基础知识准备在正式给大家介绍自定义协议之前,我们先对网络传输和协议解析的相关知识点做一个基本的介绍,尽管这些知识点我们在学校里学过,但难免会有所遗忘,这里先做一个简单的介绍,以便对后文的内容理解更加顺畅。1. 网络七层协议OSI的7层从上到下分别是:7 应用层、 6 表示层、 5 会话层、 4 传输层、 3 网络层、 2 数据链路层、 1 物理层;其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端的数据流。应用层常见的协议有:HTTP、FTP、SMTP等;常见的传输层有:TCP、UDP。本文主要是基于TCP自定义协议实现客户端与服务端的长连接。2. SocketSocket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口,通常也称作套接字。套接字之间的连接过程可以分为三个步骤:客户端请求,服务端回复收到,客户端收到服务端的回复,即三次握手。连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。3. 位(bit)、字节(byte)“位(bit)”是电子计算机中最小的数据单位。每一位的状态只能是0或1;“字节(Byte)”由8个二进制位构成(即1byte=8bit),它是存储空间的基本计量单位,它能表示到数值范围为0到255(即2的8次方减1);4. 算术移位运算(符号位不变,低位补0)左移运算:12,1的二进制位是1,向左移两位是100,转为十进制数即为4,所以12的运算结果是4;右移运算:72,7的二进制位是111,向右移两位是1,所以72的运算结果是1 。5. Java中各类型占字节数byte??????8位,1个字节?boolean???8位,1个字节?char??????16位,2个字节?short?????16位,2个字节?int???????32位,4个字节?float?????32位,4个字节?double????64位,8个字节?long??????64位,8个字节??6. Java中socket相关函数Socket构造函数Socket(InetAddress address, int port)throws UnknownHostException, IOExceptionSocket(InetAddress address, int port, InetAddress localAddress, int localPort)throws IOExceptionSocket(String host, int port)throws UnknownHostException, IOExceptionSocket(String host, int port, InetAddress localAddress, int localPort)throws IOException还可以通过以下方式生成socket:SocketFactory.getDefault().createSocket(String address, String port) throws ConnectExceptionSocket方法getInetAddress(); // 远程服务端的IP地址getPort(); // 远程服务端的端口getLocalAddress(); // 本地客户端的IP地址getLocalPort(); // 本地客户端的端口getInputStream(); // 获得输入流getOutStream(); // 获得输出流Socket状态isClosed(); // 连接是否已关闭,若关闭,返回true;否则返回falseisConnect(); // 如果曾经连接过,返回true;否则返回falseisBound(); // 如果Socket已经与本地一个端口绑定,返回true;否则返回false判断Socket的状态是否处于连接中?boolean?isConne
您可能关注的文档
- 学校校本教材讲解.doc
- 广西壮族自治区农民工创业担保贷款实施办法概要.doc
- 广西2016年3年级小学语文第7单元第8节课《济南的冬天》概要.ppt
- 广西城市物流发展情况(钦州)概要.pptx
- 广西南宁市马山县2016届中考化学模拟试卷(解析版)概要.doc
- 学写英文图表作文讲解.ppt
- 广西大学日成林化松香厂生产实习报告概要.doc
- 学员活动方案讲解.ppt
- 广西来宾市2015年中考化学试卷(解析版)概要.doc
- 广电兰亭荣荟项目铝合金模板的应用总结概要.ppt
- 仪表blocksetuser指南r2015a如何mathworks新闻销售服务其他gauges.pdf
- hiisp颜色优化描述问题00b04期color optimization.pdf
- effects of diets containing genetically modified potatoes rat small intestine含有土豆对大鼠小肠饮食影响.pdf
- aplisens高质量工艺仪器制造商该成立于1992local presentation本地演讲.pdf
- 章可靠性运筹学导论10e solutions ch25.pdf
- 胃炎定义胃粘膜缺陷损害内科7gastritis.pdf
- tms320c6000技术简介文献编号spru197d technical brief rev dTMS320C6000.pdf
- antimicrobial prophylaxis surgery in adults成人抗菌预防手术.pdf
- 成果综合介绍xilinx inc 2100 logic drim bus mux.pdf
- 通过采样深层相似性功能在野外视觉识别.pdf
文档评论(0)