[工学]CH11 Jaa网络编程.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]CH11 Jaa网络编程

4.?数据报通信 Datagrampacket类 该类对数据报分组进行了描述,其中包括分组的数据、分组的长度、网络地址及端口号等信息。 1. DatagramPacket(byte ibuf[], int ilength) 为接收数据报而构造一个datagrampacket对象。 参数:ibuf:用于存放接收到的分组数据; ilength:要接收的字节数。 2.DatagramPacket(byte ibuf[], int ilength,InetAddress iaddr,int iport) 构造一个用于发送的datagramPacket对象。 参数:ibuf:用于存放分组数据; ilength:分组的字节数。 iaddr:目标IP地址 iport:目标端口号 3.getAddress() 返回该datagramPacket对象的网络地址。 返回值:类型为 InetAddress 4.?数据报通信 4. getPort() 返回该datagramPacket对象的端口号。 返回值:类型为 int 5. getdata() 返回该datagramPacket对象的分组数据。 返回值:类型为 byte[],即字节数组。 6. getLength () 返回该datagramPacket对象的分组长度。 返回值:类型为 int 4.?数据报通信 DatagramSocket类 1. DatagramSocket () 生成一个DatagramSocket对象,可能产生的例外是SocketException 2. DatagramSocket(int port) 构造一个DatagramSocket对象,可能产生的例外是SocketException 参数:port 所要用到的当地端口号 3.? Send(DatagramSocket p) 向目标地址处发送数据报分组,如果发生IO错误,则会导致IOException 参数:P 要发送的DatagramSocket对象,其内容包括字节缓冲区、长度、目标地址及端口号 参见DatagramSocket类 4.?数据报通信 4. Receive(DatagramSocket p) 接收数据报分组,如果发生IO错误,则会导致IOException,仅当获得了某些输入信息时,阻塞才会解除。 参数:P 要接收的DatagramSocket对象,其内容包括字节缓冲区、长度、发送者地址及端口号 参见DatagramSocket类 5.? GetLocalPort() 返回该DatagramSocket对象的当地端口号。 返回值:类型为 int 6.? Close() 这是一个synchronized方法,用于关闭该DatagramSocket对象 客户/服务器套接字交互: UDP close clientSocket 服务器 (在主机id上运行) read reply from clientSocket create socket, clientSocket = DatagramSocket() 客户 Create, address (hostid, port=x, send datagram request using clientSocket create socket, port=x, for incoming request: serverSocket = DatagramSocket() read request from serverSocket write reply to serverSocket specifying client host address, port umber import java.io.*; import .*; class UDPClient { public static void main(String args[]) throws Exception { BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); DatagramSocket clientSocket = new DatagramSocket(); InetAddress IPAddress = InetAddress.getByName(hostname); byte[] sendData = new byte[1024]; byte[] receiveData = new byte[1024]; S

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档