java基础学习笔记——网络UDP/聊天

来源:互联网 发布:电脑软件快捷键冲突 编辑:程序博客网 时间:2024/06/05 11:30
package ownerSocket;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.SocketException;public class ChartDemo {/** * @param args * @throws SocketException  */public static void main(String[] args) throws SocketException {// TODO Auto-generated method stubDatagramSocket send = new DatagramSocket();DatagramSocket receive = new DatagramSocket(10003);new Thread(new SendDemo(send)).start();new Thread(new ReceiverDemo(receive)).start();}}
package ownerSocket;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;public class SendDemo implements Runnable {private DatagramSocket ds;public SendDemo(DatagramSocket ds) {super();this.ds = ds;}public void run() {// TODO Auto-generated method stubBufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));String line = null;try{while((line=bufr.readLine())!=null){byte[] b = line.getBytes();DatagramPacket dp = new DatagramPacket(b, b.length,InetAddress.getByName("lenovo-PC"),10003);ds.send(dp);}ds.close();}catch(Exception e){}}}

package ownerSocket;import java.net.DatagramPacket;import java.net.DatagramSocket;public class ReceiverDemo implements Runnable {private DatagramSocket ds;public ReceiverDemo(DatagramSocket ds) {super();this.ds = ds;}public void run() {// TODO Auto-generated method stubtry{while(true){byte[] buf = new byte[1024];DatagramPacket dp = new DatagramPacket(buf, buf.length);ds.receive(dp);String ip = dp.getAddress().getHostAddress();int port = dp.getPort();String content = new String(dp.getData(),0,dp.getLength());System.out.println("ip:"+ip+" port:"+port+"  content:"+content);if(content.equals("88")){System.out.println(ip+"退出聊天....");}}}catch(Exception e){}}}


0 0
原创粉丝点击