网络编程-写一个聊天程序

这个可以在局域网内、沟通
package
mymenu; import java.net.*; import java.util.*; public class PracticeUsed { public static void main(String[] args) throws Exception { DatagramSocket ds = new DatagramSocket(); DatagramSocket dd = new DatagramSocket(10002); new Thread(new MySend(ds)).start(); new Thread(new MyRece(dd)).start(); } } class MySend implements Runnable { private DatagramSocket ds; public MySend(DatagramSocket ds) { this.ds = ds; } public void run() { try { while(true) { Scanner in = new Scanner(System.in); String text = in.nextLine(); byte[] buf = text.getBytes(); DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getByName("199.234.8.53"),10002); // 注意: 每个号段当中最后的.255 、代表是局域网的广播频道 ds.send(dp); } } catch(Exception e ) { throw new RuntimeException("发送端挂了"); } } } class MyRece implements Runnable { private DatagramSocket ds; public MyRece(DatagramSocket ds) { this.ds = ds; } public void run() { try { while(true) { byte[] buf = new byte[1024]; DatagramPacket dp = new DatagramPacket(buf,buf.length); ds.receive(dp); String ip = dp.getAddress().getHostAddress(); String data = new String(dp.getData(),0,dp.getLength()); System.out.println(ip+"::"+data); System.out.println(""); } } catch(Exception e ) { throw new RuntimeException("接收端挂了"); } } }

 

posted @ 2019-11-18 11:02  蚂蚁雅黑1010  阅读(241)  评论(0编辑  收藏  举报