zoukankan      html  css  js  c++  java
  • UDP编程

    TCP(传输控制协议--传输层):採用三次握手的方式。保证准确的连接操作,比較安全可靠。

    UDP(用户数据报协议--传输层):发送数据报,比如:手机短信、电视,发送出去可能没收到。不可靠。

    TCP编程:SocketServerSocket

    UDP编程:DatagramPacketDatagramSocket

    简而言之。UDP协议发送数据报包,无论你有没有接收到。不可靠的传输。仅仅管发过去而已


    服务端:

    public class Server {
    
    	public static void main(String[] args) throws IOException {
    		byte b[] = new byte[1024];
    		String msg = "你好吗?";
    		b = msg.getBytes();
    		DatagramPacket dp = new DatagramPacket(b, b.length, 
    				InetAddress.getByName("192.168.191.3"), 8000); //表示发送数据的port号。假设要接收这个数据则port号为8000
    		DatagramSocket socket = new DatagramSocket(5000);     //表示接收port号为5000的数据报
    		socket.send(dp);
    		System.out.println("数据发送成功");
    	}
    
    }
    


    client:

    /**
     * 接收UDP发过来的数据报
     * @author Admin
     *
     */
    public class Client {
    
    	public static void main(String[] args) throws Exception {
    		DatagramSocket socket = new DatagramSocket(8000);      //接收port号为8000的数据报
    		byte b[] = new byte[1024];
    		DatagramPacket p = new DatagramPacket(b, b.length);
    		System.out.println("client正在等待...");
    		socket.receive(p);      //程序在这会堵塞,直到收到数据报
    		System.out.println(new String(p.getData(), 0, p.getLength()));
    	}
    
    }
    


    执行结果:

    依据UDP协议特点。先执行client

    client:


    服务端:


    client:



  • 相关阅读:
    随机-byte编码
    dataframe骚操作,待续
    oracle中的rowid
    java提高篇-----理解java的三大特性之继承
    staruml使用教程
    黑马程序员:HTML习题1
    Cocos2d-x-->CCSprite 动画
    地址栏传参中文乱码详解
    Qt学习第二天
    Lync 2010 升级到2013 之部署2013前端服务器!
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/7086367.html
Copyright © 2011-2022 走看看