Java网络编程简介.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* DatagramPacket类 接受和发送数据包的构造函数是不同的: 1 接受数据包: public DatagramPacket(byte[] buffer,int length) 两个参数1 byte[] buffer表示接受数据包的数组,length表示这个数组的长度。 2发送数据包: public DatagramPacket(byte[] data,int length,InetAddress destination,int port) 除了包括接受的参数外还包括目标地址和端口 * DatagramPacket类(续) 创建一个DatagramPacket: String s=“This is a Test”; byte[] data =s.getBytes(“ASCII”); try{ InetAddress ia=InetAddress.getByName(“”); int port=80 DatagramPacket dp=new DatagramPacket(data,data.length,ia,port); } catch(IOException e){…} * DatagramSocket类 与DatagramPacket类似发送与接受Socket只是构造函数不相同 发送Socket对象 DatagramSocket client=new DatagramSocket() 由于发送无需关心发送端口所以操作系统会自动分配一个端口发送时服务器的端口已经写在了DatagramPacket中了 接受Socket对象 DatagramSocket server=new DatagramSocket(port) 由于需要监听客户端Socket所以必须指定port * DatagramSocket类(续) 客户端程序例子: InetAddress server=InetAddress.getName(“”); BufferReader userInput=new BufferReader(new inputStreamReader(System.in)); DatagramSocket theSocket=new DatagramSocket(); while(true){ String theLine=userInput.readLine(); if(theLine.equals(“.”))break; byte[] data=theLine.getBytes(“UTF-8”); DatagramPacket theOutput=new DatagramPacket(data,data.length,server,port); theSocket.send(theOutput); } } * DatagramSocket类(续) 服务器端程序例子: DatagramSocket server=new DatagramSocket(port); DatagramPacket packet=new DatagramPacket(buffer,buffer.length); while(true){ server.receive(packet); String s=new String(packet.getData(),0,packet.getLength(),”UTF-8”); System.out.println(s); packet.setLength(buffer.length); } * DatagramSocket类(续) DatagramSocket的对象用完之后也是要关闭,如果等到垃圾回收关闭,有可能会造占满所有允许的Socket数。 TCP的Socket和UDP的Socket可以共用一个端口两种协议是毫不相干的且端口也只是个逻辑概念 * 组播Socket 与传统传播的区别: * 组播的使用 采用MulticastSocket用法相近,但多了4个动作: 1加入组播组 2向组播组发送数据 3接受组播组的数据 4离开组播组 * 组播接受实例: 服务器端程序例子: MulticastSocket server=new MulticastSocket (port); InetAddress ia=InetAddress.getByName(“”);//定义组播组 Server.joinGroup(ia); byte[] buffer=new byte[8192]; DatagramPacket packet=new DatagramPacket(buffer,buffer.length); while(true){ s

文档评论(0)

飞扬的岁月 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档