1 / 23
文档名称:

050网络编程.ppt

格式:ppt   大小:1,369KB   页数:23页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

050网络编程.ppt

上传人:雾里行舟 2019/3/3 文件大小:1.34 MB

下载得到文件列表

050网络编程.ppt

相关文档

文档介绍

文档介绍::介绍Datagram网络编程给出一个例子简单实现Datagram网络编程重点:难点:Datagram编程的实现Datagram编程的实现第050课网络编程3Datagram第050课网络编程所谓数据报(Datagram)就跟日常生活中的邮件系统一样,是不能保证可靠的寄到的,而面向链接的TCP就好比电话,双方能肯定对方接受到了信息。TCP,可靠,传输大小无限制,但是需要连接建立时间,差错控制开销大。UDP,不可靠,差错控制开销较小,传输大小限制在64K以下,不需要建立连接。。3Datagram第050课网络编程先来看一下DatagramSocket的构造方法:port指明socket所使用的端口号,如果未指明端口号,则把socket连接到本地主机上一个可用的端口。DatagramSocket();DatagramSocket(intprot);DatagramSocket(intport,InetAddressladdr);上述的两个构造方法都声明抛弃非运行时例外SocketException,程序中必须进行处理,或者捕获、或者声明抛弃。laddr指明一个可用的本地地址。给出端口号时要保证不发生端口冲突,否则会生成SocketException类例外。3Datagram第050课网络编程用数据报方式编写client/server程序时,无论在客户方还是服务方都遵循:首先都要建立一个DatagramSocket对象,用来接收或发送数据报,然后使用DatagramPacket类对象作为传输数据的载体。3Datagram第050课网络编程下面看一下DatagramPacket的构造方法:DatagramPacket(bytebuf[],intlength);DatagramPacket(bytebuf[],intlength,InetAddressaddr,intport);DatagramPacket(byte[]buf,intoffset,intlength);DatagramPacket( byte[]buf,intoffset,intlength,InetAddressaddress,intport);其中,buf中存放数据报数据,length为数据报中数据的长度,addr和port指明目的地址,offset指明了数据报的位移量。3Datagram在接收数据前,应该采用上面的一种方法生成一个DatagramPacket对象,给出接收数据的缓冲区及其长度。第050课网络编程DatagramPacketpacket=newDatagramPacket(buf,256); (packet);然后调用DatagramSocket的方法receive()等待数据报的到来,receive()将一直等待,直到收到一个数据报为止。3Datagram第050课网络编程发送数据前,也要先生成一个新的DatagramPacket对象,=newDatagramPacket( buf,length,address,port); (packet);在给出存放发送数据的缓冲区的同时,还要给出完整的目的地址,包括IP地址和端口号。发送数据是通过DatagramSocket的方法send()实现的,send()根据数据报的目的地址来寻径,以传递数据报。3Datagram第050课网络编程在构造数据报时,Address类参数。中定义,地址,我们可以通过它提供的类方法getByName()从一个表示主机名的字符串获取该主机的IP地址,然后再获取相应的地址信息。,我们就可以来构件一个基于UDP的C/S网络传输模型,.*; .*; .*;3Datagram