黑马程序员技术交流社区

标题: 网络编程 [打印本页]

作者: 璇伶    时间: 2015-5-17 14:19
标题: 网络编程
为什么接收端开着,发送端发送数据,接收端确无法
  1. package com.itheima.net;

  2. import java.net.*;

  3. public class UDPSend {

  4. public static void main(String[] args) {
  5. // TODO Auto-generated method stub
  6. try {
  7. send();
  8. } catch (Exception e) {
  9. // TODO Auto-generated catch block
  10. e.printStackTrace();
  11. }

  12. }
  13. public static void send() throws Exception{
  14. //建立UDPSocket服务。
  15. DatagramSocket ds = new DatagramSocket();
  16. //提供数据,打包。
  17. byte[] buf = "hello,word".getBytes();
  18. DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.2"),10000);
  19. //数据发送。
  20. ds.send(dp);
  21. //关闭资源
  22. ds.close();

  23. }

  24. }
  25. <DIV class=blockcode>
  26. <BLOCKQUOTE>import java.net.*;
  27. class UDPReceive {

  28. public static void main(String[] args) {
  29. // TODO Auto-generated method stub
  30. try {
  31. receive();
  32. } catch (Exception e) {
  33. // TODO Auto-generated catch block
  34. e.printStackTrace();
  35. }
  36. }
  37. public static void receive() throws Exception{
  38. DatagramSocket ds = new DatagramSocket(10000);
  39. while(true){
  40. byte[] buf = new byte[1024];
  41. DatagramPacket dp = new DatagramPacket(buf,buf.length);
  42. ds.receive(dp);
  43. String ip=dp.getAddress().getHostAddress();
  44. String data = new String(dp.getData(),0,dp.getLength());
  45. int port = dp.getPort();
  46. System.out.println("ip:"+ip);
  47. System.out.println("data:"+data);
  48. System.out.println("port:"+port);}
  49. // ds.close();

  50. }

  51. }
复制代码



接收数据?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2