这篇文章主要讲解了“Java网络编程怎么发送接收数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java网络编程怎么发送接收数据”吧!
A:创建发送端socket对象;
B:创建数据,并把数据打包;
C:调用socket对象的发送方法发送数据包;
D:释放资源
package net; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class SendDemo { public static void main(String[] args) throws IOException { //A DatagramSocket ds = new DatagramSocket(); //B byte[] by = "Hello,UDP".getBytes(); int length = by.length; InetAddress addr = InetAddress.getByName("192.168.1.22"); int port = 10010; DatagramPacket dp = new DatagramPacket(by, length, addr, port); //C ds.send(dp); //D ds.close(); } }
A:创建接收端socket对象;
B:创建一个数据包(接收容器);
C:调用socket对象的接收方法接收数据;
D:解析数据,显示到控制台;
E:释放资源
package net; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class ReceiveDemo { public static void main(String[] args) throws IOException { //A DatagramSocket ds = new DatagramSocket(10010); //B byte[] by = new byte[1024]; int length = by.length; DatagramPacket dp = new DatagramPacket(by, length); //C ds.receive(dp); //D //获取对方ip InetAddress addr = dp.getAddress(); String ip = addr.getHostAddress(); byte[] by2 = dp.getData(); int len = by2.length; String s = new String(by2, 0, len); System.out.println(ip+"发送的数据是:"+s); //E ds.close(); } }
先运行接收端代码,再运行发送端代码。
package net; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class SendDemo { public static void main(String[] args) throws IOException { //A DatagramSocket ds = new DatagramSocket(); //数据来自键盘录入 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String line = null; while((line = br.readLine()) != null){ //当输入jieshu时,结束 if("jieshu".equals(line)){ break; } //B byte[] by = line.getBytes(); int length = by.length; InetAddress addr = InetAddress.getByName("192.168.1.22"); int port = 10010; DatagramPacket dp = new DatagramPacket(by, length, addr, port); //C ds.send(dp); } //D ds.close(); } }
package net; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class ReceiveDemo { public static void main(String[] args) throws IOException { //A DatagramSocket ds = new DatagramSocket(10010); //多次接受版本 while(true){ //B byte[] by = new byte[1024]; int length = by.length; DatagramPacket dp = new DatagramPacket(by, length); //C ds.receive(dp); //D //获取对方ip InetAddress addr = dp.getAddress(); String ip = addr.getHostAddress(); byte[] by2 = dp.getData(); int len = by2.length; String s = new String(by2, 0, len); System.out.println(ip+"发送的数据是:"+s); } //E //ds.close(); } }
感谢各位的阅读,以上就是“Java网络编程怎么发送接收数据”的内容了,经过本文的学习后,相信大家对Java网络编程怎么发送接收数据这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。