java网络编程

本文深入探讨了TCP和UDP两种网络通信协议的特点与应用。通过对比可靠性和传输效率,详细解析了TCP的连接建立、数据传输及差错控制机制,以及UDP的简单数据报文传输方式。并通过具体代码示例,展示了如何使用Java实现TCP和UDP的数据收发过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TCP传数据

class server {
	public static void main(String[] args) throws Exception {
		ServerSocket serverSocket = new ServerSocket(44444);
		Socket accept = serverSocket.accept();//阻塞式
		InputStream inputStream = accept.getInputStream();
		byte[] b=new byte[1024];
		int read = inputStream.read(b);//等着数据过来,可以理解用B装数据
		System.out.println(new String(b,0,read));
		OutputStream outputStream = accept.getOutputStream();
		outputStream.write("server发送".getBytes());
		inputStream.close();
		
}
}
class client{
	public static void main(String[] args) throws UnknownHostException, IOException {
		Socket socket = new Socket("127.0.0.1",44444);
		OutputStream outputStream = socket.getOutputStream();
		outputStream.write("客户段发送".getBytes());
		InputStream inputStream = socket.getInputStream();
		byte[] b=new byte[1024];
		int read = inputStream.read(b);//等着数据
		System.out.println(new String(b,0,read));
		inputStream.close();
		outputStream.close();
		socket.close();
	}

}

多线程下TCP传输

class server {
	public static void main(String[] args) throws Exception {
		ServerSocket serverSocket = new ServerSocket(44444);
		while(true){
			Socket s = serverSocket.accept();
			new Thread(new mythread(s)).start();//每次开辟新线程处理,不用等待,且服务器开着
		}
}
}
class client{
	public static void main(String[] args) throws UnknownHostException, IOException {
		Socket socket = new Socket("127.0.0.1",44444);
		OutputStream outputStream = socket.getOutputStream();
		outputStream.write("客户段发送".getBytes());
		
		outputStream.close();
		socket.close();
	}

}
public class mythread implements Runnable {
     private Socket s;
	public mythread(Socket s){
		this.s=s;
	}
	public void run() {
		try {
			InputStream is = s.getInputStream();
			byte[] b=new byte[104];
			int read = is.read(b);
			System.out.println(new String(b,0,read));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		finally{
		}
	}

}

TCP:可靠。传输无限制,需要建立时间,差错控制开销大

UDP:不可靠。差错控制开销小,传输大小64K。不需要建立连接

udp传输。可以看成两个港口传输货物,港口包装数据港口地址等信息发送,那边接收则以数据容器接收货物,接收后可以获取发送端的信息,数据IP地址等。

class send {
	public static void main(String[] args) throws Exception {
		DatagramSocket ds=new DatagramSocket();//创建发送端对象
		byte[] b="hello upd".getBytes();
		InetAddress byName = InetAddress.getByName("127.0.0.1");
		DatagramPacket ff=new DatagramPacket(b,b.length,byName,10026);//搜集数据包对象
		ds.send(ff);
		
		}
}

class recive{
	public static void main(String[] args) throws UnknownHostException, IOException {
		DatagramSocket ds=new DatagramSocket(10026);//接受端口
		//创建接受数据容器
		byte[] b=new byte[1024];
		int i = b.length;
	  DatagramPacket datagramPacket = new DatagramPacket(b,i);
	  ds.receive(datagramPacket);//阻塞式等待接受数据
	  byte[] data = datagramPacket.getData();
	  int length = data.length;
	  System.out.println(new String(data,0,length));
		
		
	}

}

 

内容概要:《绿色转型美丽乡村——汾渭平原地区低碳乡村案例集》由西安空气侠环保科技有限公司编写,北京市企业家环保基金会支持,聚焦汾渭平原地区乡村低碳发展的典型实践。报告梳理了国内外相关理论研究及政策背景,展示了中央与地方在低碳乡村发展方面的政策措施。通过五个典型案例,包括芮城县庄上村的“光储直柔”模式、铜川耀州区克坊村的“光伏+普惠金融”、浮山县臣南河村的循环经济模式、澄城县权家河村的“风光储一体化”以及麟游县紫石崖村的“光伏+生态养殖”,详细分析了这些案例的技术路线、项目成效、主要政策、典型经验和存在问题。报告总结了清洁能源在乡村低碳发展中的核心地位,强调了因地制宜发展策略的关键作用,并指出了多重效益综合追求的重要性。 适合人群:从事环保、农业、能源领域研究的专业人士,以及关注乡村低碳发展和可持续发展的政策制定者和社会学者。 使用场景及目标:①为全国其他地区开展乡村能源转型实践提供有益的借鉴;②助力推动我国乡村低碳发展,为实现碳达峰、碳中和目标贡献积极力量;③为政策制定者提供决策参考,促进乡村绿色转型和乡村振兴战略的实施。 其他说明:报告由多家单位参编,感谢北京市企业家环保基金会提供资金支持。文中内容及意见仅代表作者的个人观点,与北京市企业家环保基金会的立场或政策无关。报告期望为全国其他地区开展乡村能源转型实践提供有益的借鉴,助力推动我国乡村低碳发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值