移动通信软件编程基础JAVA语言.ppt
《移动通信软件编程基础JAVA语言.ppt》由会员分享,可在线阅读,更多相关《移动通信软件编程基础JAVA语言.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、移动通信软件编程基础JAVA语言 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望12网络编程第章本章目标本章目标网络编程的基本概念网络编程的基本概念编写编写UDPUDP网络程序网络程序编写编写TCPTCP网络程序网络程序网络通信网络通信v进行通信的计算机的地址:进行通信的计算机的地址:IPIP地址地址v进行通信的计算机的规则:进行通信的计算机的规则:TCPTCP协议协议v通信应用程序所在通信端口通信应用程序所在通信端口UDP和和TCP协议协议vTCP(TCP(传输
2、控制协议传输控制协议)是面向连接的通信协议:是面向连接的通信协议:vTCPTCP提供两台计算机之间的可靠无差别的数据传输。提供两台计算机之间的可靠无差别的数据传输。v应用程序利用应用程序利用TCPTCP进行通信时,源和目标之间会建立一个进行通信时,源和目标之间会建立一个虚拟的连接,连接一旦建立,两台计算机之间就可以把数虚拟的连接,连接一旦建立,两台计算机之间就可以把数据当作一个双向字节流进行交换。据当作一个双向字节流进行交换。建立连接建立连接通话通话结束通话结束通话UDP/TCP协议协议vUDP(UDP(用户数据报协议用户数据报协议)是无连接通信协议。是无连接通信协议。vUDPUDP不保证数据
3、的可靠传输,但能实现向多个目标发送不保证数据的可靠传输,但能实现向多个目标发送数据,并可以实现接收多个源的数据。数据,并可以实现接收多个源的数据。v使用使用UDPUDP协议从一台主机向另外一台主机发送数据,数协议从一台主机向另外一台主机发送数据,数据就会立即发送,而不管另外一台主机是否准备接收,据就会立即发送,而不管另外一台主机是否准备接收,另外一台主机也不会确认是否收到。另外一台主机也不会确认是否收到。TCP协议和协议和UDP协议的差别协议的差别对比项对比项TCP协议协议UDP协议协议是否连接是否连接面向连接面向连接面向非连接面向非连接传输可靠性传输可靠性可靠的可靠的不可靠的不可靠的应用场合
4、应用场合传输大量的数据传输大量的数据少量数据少量数据速度速度慢慢快快Socket套接字套接字vSocketSocket是网络驱动层提供给应用程序编程的接口和一种是网络驱动层提供给应用程序编程的接口和一种机制。机制。vJavaJava网络编程在很大程度上就是套接字网络编程在很大程度上就是套接字(Socket)(Socket)编程。编程。套接字是让用户与网络通信的一种对象,它并不是物理设套接字是让用户与网络通信的一种对象,它并不是物理设备,可以将其理解为网络连接的端点。备,可以将其理解为网络连接的端点。Socket套接字套接字SocketSocket发送信息的工作机制:发送信息的工作机制:vSoc
5、ketSocket在应用程序中创建,在应用程序中创建,通过一种绑定机制与网络驱动通过一种绑定机制与网络驱动程序建立关系,明确所对应的程序建立关系,明确所对应的IPIP和和PortPort。v应用程序将要传递的数据作应用程序将要传递的数据作为参数传入为参数传入SocketSocket对象,由对象,由SocketSocket对象交给网络驱动程序,对象交给网络驱动程序,并向网络上发送。并向网络上发送。网络网络驱动程序驱动程序产生产生SocketSocket将将S So oc ck ke et t信信息息通通知知给给驱驱动动程程序序应用程序将应用程序将要发送的数要发送的数据传给据传给SocketSoc
6、ket从从SocketSocket取出数据取出数据并通过网卡发送出并通过网卡发送出去去Java编写编写UDP网络程序网络程序vUDPUDP协议是无连接的协议,它以数据报作为数据传输的协议是无连接的协议,它以数据报作为数据传输的载体。载体。数据报是一个在网络上发送的独立信息,它的到达、数据报是一个在网络上发送的独立信息,它的到达、到达时间以及内容本身等都不能得到保证。到达时间以及内容本身等都不能得到保证。数据报的大小是受限制的,每个数据报的大小限定数据报的大小是受限制的,每个数据报的大小限定在在64KB64KB以内。以内。v对于一些不需要很高质量、实时性要求很高的应用程序对于一些不需要很高质量、
7、实时性要求很高的应用程序来说,适合利用来说,适合利用UDPUDP协议传输。协议传输。v数据报在网上可以以任何可能的路径传往目的地。数据报在网上可以以任何可能的路径传往目的地。DatagramSocket类类vDatagramSocketDatagramSocket类表示用来发送和接收数据报包的套接字。类表示用来发送和接收数据报包的套接字。v每个在每个在DatagramSocketDatagramSocket上发送或接收的包都是单独编址和上发送或接收的包都是单独编址和路由的。路由的。v在在DatagramSocketDatagramSocket上总是启用上总是启用UDPUDP广播发送。为了接收广
8、广播发送。为了接收广播包,应该将播包,应该将DatagramSocketDatagramSocket绑定到通配符地址。绑定到通配符地址。vDatagramSocketDatagramSocket类所在包:类所在包:构造方法构造方法说明说明DatagramSocket()构造数据报套接字并将其绑定到本地主机上任构造数据报套接字并将其绑定到本地主机上任何可用的端口。何可用的端口。DatagramSocket(intport)创建数据报套接字并将其绑定到本地主机上的创建数据报套接字并将其绑定到本地主机上的指定端口。指定端口。DatagramSocket(intport,InetAddressladd
9、r)创建数据报套接字,将其绑定到指定的本地地创建数据报套接字,将其绑定到指定的本地地址。址。DatagramPacket类类vDatagramPacketDatagramPacket类表示数据报包。用来实现无连接包投类表示数据报包。用来实现无连接包投递服务。递服务。v每条报文仅根据该包中包含的信息从一台机器路由到另每条报文仅根据该包中包含的信息从一台机器路由到另外一台机器。外一台机器。v发送中的多个包可能选择不同的路由,也可能按不同的发送中的多个包可能选择不同的路由,也可能按不同的顺序到达。不对包投递做出保证。顺序到达。不对包投递做出保证。vDatagramPacketDatagramPack
10、et类所在包:类所在包:构造方法构造方法说明说明DatagramPacket(bytebuf,intlength,InetAddressaddress,intport)构造数据报包,用来将长度为构造数据报包,用来将长度为length的包的包发送到指定主机上的指定端口号。发送到指定主机上的指定端口号。DatagramPacket(bytebuf,intlength)构造数据报包,用来接收长度为构造数据报包,用来接收长度为length的的数据包。数据包。InetAddress类类vInetAddress类可以用于标识网络上的硬件资源,它提类可以用于标识网络上的硬件资源,它提供了一系列方法以描述、获
11、取及使用网络资源。供了一系列方法以描述、获取及使用网络资源。vInetAddress类没有构造方法,因此不能用类没有构造方法,因此不能用new来构造一来构造一个个InetAddress实例。实例。方法方法说明说明staticInetAddressgetByName(Stringhost)在给定主机名的情况在给定主机名的情况下确定主机的下确定主机的IP地址地址staticInetAddressgetLocalHost()返回本地主机返回本地主机IP地址地址staticInetAddressgetAllByName(Stringhost)在给定主机名的情况在给定主机名的情况下,根据系统上配置下,根
12、据系统上配置的名称服务返回其的名称服务返回其IP地址所组成的数组。地址所组成的数组。实现简单的实现简单的UDP程序程序/实现数据发送实现数据发送.*;publicclassUDPSendpublicstaticvoidmain(Stringargs)throwsExceptionDatagramSocketds=newDatagramSocket();StringStrHello=Helloworld!;DatagramPacketdp=newDatagramPacket(StrHello.getBytes(),StrHello.length(),InetAddress.getByName(1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 移动 通信 软件 编程 基础 JAVA 语言
限制150内