zoukankan      html  css  js  c++  java
  • JAVA 网络编程(简单的发送端和接受端)

    /*
    	UDP
    	1,将数据及源和目的封装成数据包中,不需要建立连接
    	2,每个数据报的大小在限制在64k
    	3,因为无连接,是不可靠协议的
    	4,不需要建立连接,速度快
    
    	TCP
    	1,建立连接,形成传输数据的通道
    	2,在连接中进行最大数据量传输
    	3,通过三次握手完成连接,是可靠传输协议
    	4,必须建立连接,效率会稍低
    
    
    	Socket
    	1,Socket 就是为了网络服务提供的一种机制
    	2,通信的两端都有Socket 
    	3,网络通信其实就是Socket之间的通信
    	4,数据在两个Socket间通过IO传输
    
    
    */
    
    import java.net.*;
    import java.io.*;
    
    //发送端
    
    class UDPSend
    {
    	public static void main(String []args) throws Exception
    	{
    		//1,创建UDP服务 通过DatagramSocket 对象
    		DatagramSocket ds = new DatagramSocket();
    
    		//键盘录入
    		BufferedReader bufr =
    			new BufferedReader(new InputStreamReader(System.in));
    	
    		String line = null;
    
    		while((line = bufr.readLine()) != null)
    		{
    			if("Bye".equals(line))
    				break;
    			//将字符串转变成字节流
    			byte [] buf = line.getBytes();
    		
    			//2,确定数据 并封装成数据包
    			DatagramPacket dp = 
    				new DatagramPacket(buf,buf.length,InetAddress.getByName("127.1"),1000);
    
    			//3 通过socket 服务 将已有的数据包发送出去 通过send 方法
    			ds.send(dp);
    		}
    		//关闭资源
    		ds.close();
    	}
    }
    
     
    
    class UDPRecv
    {
    	public static void main(String []args) throws Exception
    	{
    		// 1  创建UDP socket  此处设置端口号为1000
    		DatagramSocket ds = new DatagramSocket(1000);
    
    		while(true)
    		{
    			//2  定义数据包 用于存储数据
    			byte []buf = new byte[1024];
    			DatagramPacket dp = new DatagramPacket(buf,buf.length);
    
    			//3 通过服务的receive  方法将收到的数据存入数据包中
    			ds.receive(dp);
    			
    			//4  通过数据包的方法获取其中的数据
    			String ip = dp.getAddress().getHostAddress();
    			String data = new String(dp.getData(),0,dp.getLength());
    
    			System.out.println(ip + "::"+data);
    		}
    		//关闭资源
    		ds.close();
    	}
    }


  • 相关阅读:
    第一阶段冲刺4
    用户场景分析
    最小不重复数
    BOM
    虚拟机下ubuntu系统设置分辨率
    富文本编辑器KindEditor使用
    页面路径设置
    VMware虚拟机不能上网的问题
    Apache Tomcat/7.0.42配置用户
    JFreeChart 横轴文字竖着显示
  • 原文地址:https://www.cnblogs.com/dengshiwei/p/4258523.html
Copyright © 2011-2022 走看看