编写一个自己给自己发消息,然后接收的代码
我就是接收不到,不知怎么的
谢谢

解决方案 »

  1.   


    public class Test {
    public static void main(String[] args) {
    String text = "java project" ;
    try {
    Receive rev = new Receive() ;
    rev.start() ;
    InetAddress target = InetAddress.getByName("255.255.255.255");
    byte[] buf = text.getBytes() ;
    DatagramPacket sendPacket = new DatagramPacket(buf, buf.length, target, 6188) ;
    DatagramSocket sendSocket = new DatagramSocket() ;
    sendSocket.send(sendPacket) ;
    sendSocket.close() ;
    rev.interrupt() ;
    } catch (Exception e) {
    e.printStackTrace();
    }

    }public class Receive extends Thread {

    public void run(){
    while(true){
    try {
    byte[] array = new byte[1000];
    DatagramPacket receivePacket = new DatagramPacket(array, array.length);
    DatagramSocket receiveSocket = new DatagramSocket(6188);
    receiveSocket.receive(receivePacket); String data = byteToString(receivePacket.getData(), receivePacket.getLength());
    System.out.println(data);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }


    static String byteToString(byte[] yb, int len) {
    String rs = "";
    int i = 0;
    char c;
    for (i = 0; i < len; i++) {
    c = (char) yb[i];
    rs = rs + String.valueOf(c);
    }
    return (rs);
    }}
    请问我这有什么问题?
      

  2.   

        public void run(){
              try {
                   DatagramSocket receiveSocket = new DatagramSocket(6188);
                  while(true){
              
                    byte[] array = new byte[1000];
                    DatagramPacket receivePacket = new DatagramPacket(array, array.length);
                   
                    receiveSocket.receive(receivePacket);                String data = byteToString(receivePacket.getData(), receivePacket.getLength());
                    System.out.println(data);
             
            }
                   } catch (Exception e) {
                    e.printStackTrace();
                }
        }
    调式成功~~~
      

  3.   

    DatagramSocket receiveSocket = new DatagramSocket(6188); 不能放在循环里面
    给分~~~谢谢想贴调试结果的图片出来,好像没地方上传