⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 right8_3_12.htm

📁 清华JAVA教程。不用多说了吧
💻 HTM
字号:
<html><head><title>JAVA编程语言</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><link rel="stylesheet" href="../../../css/text.css" type="text/css"></head><body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" ><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">  <tr>     <td valign="top">       <table width="97%" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF" align="center">        <tr>          <td height="244" valign="top">             <p class="pt9-black">   包java.net中提供了两个类DatagramSocket和DatagramPacket用来支持数据报通信,DatagramSocket用于在程序之间建立传送数据报的通信连接,               DatagramPacket则用来表示一个数据报。先来看一下DatagramSocket的构造方法:<br>                 DatagramSocket();<br>                 DatagramSocket(int prot);<br>                 DatagramSocket(int port, InetAddress laddr)<br>                <br>                其中,port指明socket所使用的端口号,如果未指明端口号,则把socket连接到本地主机上一个可用的端口。laddr指明一个可用的本地地址。给出端口号时要保证不发生端口冲突,否则会生成SocketException类例外。注意:上述的两个构造方法都声明抛弃非运行时例外SocketException,程序中必须进行处理,或者捕获、或者声明抛弃。<br>              <br>              用数据报方式编写client/server程序时,无论在客户方还是服务方,首先都要建立一个DatagramSocket对象,用来接收或发送数据报,然后使用DatagramPacket类对象作为传输数据的载体。下面看一下DatagramPacket的构造方法               :<br>                 DatagramPacket(byte buf[],int length);<br>                 DatagramPacket(byte buf[], int length, InetAddress addr, int               port);<br>                 DatagramPacket(byte[] buf, int offset, int length);<br>                 DatagramPacket(byte[] buf, int offset, int length, InetAddress               address, int port);<br>              <br>                其中,buf中存放数据报数据,length为数据报中数据的长度,addr和port旨明目的地址,offset指明了数据报的位移量。<br>              <br>                在接收数据前,应该采用上面的第一种方法生成一个DatagramPacket对象,给出接收数据的缓冲区及其长度。然后调用DatagramSocket               的方法receive()等待数据报的到来,receive()将一直等待,直到收到一个数据报为止。<br>                DatagramPacket packet=new DatagramPacket(buf, 256);<br>                Socket.receive (packet);<br>              <br>                发送数据前,也要先生成一个新的DatagramPacket对象,这时要使用上面的第二种构造方法,在给出存放发送数据的缓冲区的同时,还要给出完整的目的地址,包括IP地址和端口号。发送数据是通过DatagramSocket的方法send()实现的,send()根据数据报的目的地址来寻径,以传递数据报。<br>                DatagramPacket packet=new DatagramPacket(buf, length, address,               port);<br>                Socket.send(packet);<br>              <br>              在构造数据报时,要给出InetAddress类参数。类InetAddress在包java.net中定义,用来表示一个Internet地址,我们可以通过它提供的类方法getByName()从一个表示主机名的字符串获取该主机的IP地址,然后再获取相应的地址信息。</p>            </td>        </tr>      </table>    </td>  </tr></table></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -