黑马程序员技术交流社区

标题: 原来在多线程建立聊天程序这一块,可以使用一个DatagramSocket,不过要指定端口; [打印本页]

作者: 石三伢子1    时间: 2015-12-7 15:00
标题: 原来在多线程建立聊天程序这一块,可以使用一个DatagramSocket,不过要指定端口;
import java.io.*;
import java.net.*;

class DataSoketDemo{
    public static void main(String[] args)throws Exception{
        DatagramSocket se = new DatagramSocket(10000);
        //DatagramSocket re = new DatagramSocket(10000);
        
        new Thread(new Send(se)).start();
        new Thread(new Rece(se)).start();
    }
}

class Send implements Runnable{
    private DatagramSocket se;
    Send(DatagramSocket se){
        this.se= se;
    }
    public void run(){
        DatagramPacket dp;
        byte[] buf = "UDP传输协议演示".getBytes();  
        
        try {
             dp = new  DatagramPacket(buf,buf.length,InetAddress.getLocalHost(),10000);
             se.send(dp);
        }
        catch(Exception e) {
        }
   
       se.close();
     
    }
}

class Rece implements Runnable{
    private DatagramSocket re;
    Rece(DatagramSocket re){
        this.re = re;   
    }
       public void run(){
        
        byte[] buf = new byte[1024];  
        
      
        DatagramPacket dp= new  DatagramPacket(buf,buf.length);
         try {
            re.receive(dp);
        }
        catch(Exception e) {}
        
       String ip = dp.getAddress().toString();
       String data = new String(dp.getData(),0,dp.getData().length);
      
       System.out.println(ip+""+data);
       re.close();
    }
}




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