Android网络应用之使用Scoket的Android客户端及TCP服务器的简单交互.docxVIP

Android网络应用之使用Scoket的Android客户端及TCP服务器的简单交互.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用Scoket的Android客户端与TCP服务器的简单交互在介绍代码之前先来背一下书吧。TCP/IP协议:Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。看完以后还是觉得有点懵比……简单的说就是TCP/IP通信协议是一种可靠的(老哥,稳!)网络协议,它在通信的两端各建立一个Socket,从而在通信两段之间形成网络虚拟链路。,一旦链路建立了,那么两端的程序就可以通过虚拟链路进行通信了。在两个通信实体没有建立虚拟链路之前,必须要有一个通信实体先做出“主动姿态”,主动接收来自其他通信实体的连接请求。这个好理解啊!就好比恋爱就是虚拟链路嘛,只有男生或女生肯接受来自对方的表白我们才有戏啊对吧?那么才有后面的花前月下哈…咳咳,扯远了,正经点!具体分两部分来讲解吧。第一部分:服务器端:使用ServerSocket创建TCP服务器端Java接收其他通信实体连接请求的类是ServerSocket,没有连接就一直等待。它包含一个来自客户端连接请求的方法Socket accept():有链接就返回一个与连接客户端对应的socket,否则就一直处于等待状态,线程也被阻塞。为了创建ServerSocket对象,类提供了几个构造器:ServerSocket(int port):用指定端口来创建ServerSocket,有效值0~65535ServerSocket(intport,int backlog):增加一个用了改变队列长度的参数backlogServerSocket(intport,intbacklog,IntAddresslocalAddr):在存在多个IP的情况下允许通过localAddr绑定到指定IP用完后就用close()方法关闭。通常会接收多个请求,所以要不断调用accept方法。ServerSocketss = new ServerSocket(30000);//30000为端口号避免冲突选1024以上。While(true){//不断接收请求Socket s = ss.accetp();…..//可以恋爱,噢,不! 通信了}服务器用的是Eclipse,其实没什么要求,eclipse,myeclipse都行的,因为JDK本身就包含了TCP的网络通信API所以用Socket不需要其他服务器支持就可以了。这里给出服务器端的代码:publicclassSimpleServer{publicstaticvoid main(String[] args)throwsIOException{// 创建一个ServerSocket,用于监听客户端Socket的连接请求ServerSocketss = newServerSocket(23000); // 采用循环不断接受来自客户端的请求while (true){// 每当接受到客户端Socket的请求,服务器端也对应产生一个SocketSocket s = ss.accept();OutputStreamos = s.getOutputStream();os.write( 来追我呀!如果你追到我,我就跟你一起走可持续发展的中国特色社会主义道路!!!\n.getBytes(utf-8));// 关闭输出流,关闭Socketos.close();s.close();}}}都说了很简单的了吧!!!第二部分:客户端(更简单):使用Socket进行通信客户端通常可以用Socket构造器来指定连接到指定服务器,通常提供两个构造器:Socket(IntAddress/String remoteAddress, int port):创建连接到指定远程主机远程端口的Socket,该构造器没有指定本地地址,本地端口,默认使用本地主机的默认IP地址,默认使用系统动态分配的端口。Socket(IntAddress/String remoteAddress, intport,InetAddresslocalAddr,intlocalPort):创建连接到指定远程主机,端口的Socket,并指定本地IP地址,适用于本地主机有多个IP地址的情况。//创建连接到8,30000端口的SocketSocket s

文档评论(0)

0520 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档