当前位置:首页 > 芯闻号 > 充电吧
[导读]一、Android网络简介Android与服务器的通信方式主要有两种,一种是Http通信,另一种是Socket通信。HTTP通信:Android中内置HttpClient,这样可以发方便的发送Http

一、Android网络简介

Android与服务器的通信方式主要有两种,一种是Http通信,另一种是Socket通信。

HTTP通信:Android中内置HttpClient,这样可以发方便的发送Http请求并获取Http响应,简化了与网站之间的交互。

Socket通信:Android还支持JDK本身的TCP、UDP网络通信的API,可以使用Java中提供的ServerSocket、Socket类,来建立基于TCP/IP协议的网络通信。(本章主要讲解TCP协议编程的相关内容)也可以使用DatagramSocket、Datagrampacket、MulticastSocket来建立基于UDP协议的网络通信。

两者的区别:两者的最大差异在于,Http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据。而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求。

二、TCP协议基础

TCP/IP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket,从而在通信的两端形成网络虚拟链路。Java使用Socket对象来代表两端的通信接口,并通过Socket产生IO流来进行通信。

IP协议是Internet上使用的一个关键协议,它的全称是Internet Protocol,即Internet协议,通常简称IP协议。通过使用IP协议,使Internet成为一个允许连接不同类型的计算机和不同操作系统的网络。

要使两台计算机彼此之间进行通信,必须使两台计算机使用同一种“语言”,IP协议只保证计算机能发送和接收分组数据。IP协议负责将消息从一个主机传送到另一个主机,消息在传送的过程中被分割成一个个小包。

TCP协议被称作一种端对端协议,这是因为它为两台计算机之间的连接起了重要作用:当一台计算机需要与另一台远程计算机连接时,TCP协议会让它们建立一个连接:用于发送和接收数据的虚拟链路。

通过这种重发机制,TCP协议向应用程序提供可靠地通信连接,使它能够自动适应网上的各种变化,即使在Internet暂时出现堵塞的情况下,TCP也能够保证通信的可靠。

虽然IP和TCP这两个协议的功能不尽相同,也可以分开单独使用,但它们是在同一时期作为一个协议来设计的,并且在功能上也是互补的,只有两者结合,才能保证Internet在复杂的环境下正常运行,凡是要连接到Internet的计算机,都必须同时安装和使用这两个协议,因此在实际中常把这两个协议统称为TCP/IP协议。

三、如何使用ServerSocket创建TCP服务器端:

Java中能接收其他通信实体连接请求的类是ServerSocket,ServerSocket对象用于监听来自客户端的Socket连接,若没有连接则它将一直处于等待状态。其中监听来自客户端请求的方法:Socket accept()。该方法若收到一个客户端Socket的连接请求,该方法将返回一个与连接客户端Socket对应的Socket,否则将阻塞等待。代码如:

ServerSocket socket = new ServerSocket(21300);

While(true){

Socket s = socket.accept();

}

四、使用Socket进行通信

客户端经常使用Socket来连接到指定服务器,Socket类提供构造器连接到指定远程主机和远程端口的构造器,如:

Socket socket = new Socket(“192.168.1.11”,8000);

创建完毕Socket之后就可以进行通信了。Socket提供了InputStream getInputStream()和OutputStream getOutputStream两个方法来获取输入流和输出流进行数据的读写操作。例如:

while(true){

Socket socket = serversocket.accept();

OutputStream os = socket.getOutputStream();

os.write(“你好,我是服务器”.getBytes(“utf-8”));

os.close();

socket.close();

}

此时,就可以进行服务器与客户端的读写操作了。但是考虑到简单C/S聊天室应用的实现,只了解这个是不够的,需要加上多线程的才能使代码变得完善。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭