zoukankan      html  css  js  c++  java
  • 网络编程--UDP通讯

    UTP传输

    public class Send1 {
        public static void main(String[] args) throws Exception {
            Scanner sc=new Scanner(System.in);
            DatagramSocket socket=new DatagramSocket();//码头
            while(true){
            String str=sc.nextLine();
            if("quit".equals(str)){
                break;
            }
            DatagramPacket packet=new DatagramPacket(str.getBytes(),str.length(), InetAddress.getByName("127.0.0.1"),6666);//集装箱
            socket.send(packet);
            }
            socket.close();
        }
    }
    class Receive{
        public static void main(String[] args) throws IOException {
            DatagramSocket socket=new DatagramSocket(6666);
            DatagramPacket packet=new DatagramPacket(new byte[1024],1024);//接受长度设置为1024
            while (true){
                socket.receive(packet);
                byte[] arr=packet.getData();
                int len=packet.getLength();                         //获取有效字节个数
                String ip=packet.getAddress().getHostAddress();     //获取IP地址
                int port = packet.getPort();                        //获得端口号
                System.out.println(new String(arr,0,len)+" "+"IP:"+ip+" "+"port:"+port);
            }
    
        }
    }
    

    使用多线程在同一窗口下完成

    	public class Demo3_MoreThread {
    
    		/**
    		 * @param args
    		 */
    		public static void main(String[] args) {
    			new Receive().start();
    			
    			new Send().start();
    		}
    	
    	}
    
    	class Receive extends Thread {
    		public void run() {
    			try {
    				DatagramSocket socket = new DatagramSocket(6666);					//创建socket相当于创建码头
    				DatagramPacket packet = new DatagramPacket(new byte[1024], 1024);	//创建packet相当于创建集装箱
    				
    				while(true) {
    					socket.receive(packet);												//接收货物
    					byte[] arr = packet.getData();
    					int len = packet.getLength();
    					String ip = packet.getAddress().getHostAddress();
    					System.out.println(ip + ":" + new String(arr,0,len));
    				}
    			} catch (IOException e) {
    				
    				e.printStackTrace();
    			}
    		}
    	}
    
    	class Send extends Thread {
    		public void run() {
    			try {
    				DatagramSocket socket = new DatagramSocket();		//创建socket相当于创建码头
    				Scanner sc = new Scanner(System.in);
    				
    				while(true) {
    					String str = sc.nextLine();
    					if("quit".equals(str))
    						break;
    					DatagramPacket packet = 							//创建packet相当于创建集装箱
    							new DatagramPacket(str.getBytes(), str.getBytes().length, InetAddress.getByName("127.0.0.1"), 6666);
    					socket.send(packet);			//发货
    				}
    				socket.close();
    			}  catch (IOException e) {
    				
    				e.printStackTrace();
    			}
    		}
    	}
  • 相关阅读:
    JDBC数据库连接
    JDBC驱动程序类型
    JDBC简单示例代码
    JDBC SQL语法
    JDBC是什么?
    JDBC快速入门教程
    JUnit4参数化测试实例
    JUnit套件测试实例
    JUnit4时间(超时)测试实例
    JUnit4忽略(Ignore)测试实例
  • 原文地址:https://www.cnblogs.com/PoetryAndYou/p/11196744.html
Copyright © 2011-2022 走看看