UDP传输----java网络编程(1)
2016-11-21 08:26
381 查看
网络传输需要一个服务器接收数据,然后客户端向服务器发送数据,UDP传输,把数据封装成数据包后传输。
下来看一段代码
客户端代码
服务器端代码
下来看一段代码
客户端代码
import java.net.*; public class Client{ public Client(){ try{ byte buf[] = new byte[200]; DatagramPacket willRecv = new DatagramPacket(buf,200); DatagramSocket socket = new DatagramSocket(); InetAddress ip = InetAddress.getByName("127.0.0.1"); for(int i=0;i<10;i++){ String str ="www.itflight.net"+i; DatagramPacket willsend = StringToPacket(str,ip,8000); //发送数据包 socket.send(willsend); //接受数据包 socket.receive(willRecv); String message = PacketToString(willRecv); System.out.println(message); } }catch(Exception e){ e.printStackTrace(); } } public static void main(String[] args){ new Client(); } //字符串转换为数据包,UDP传输使用 DatagramPacket StringToPacket(String message,InetAddress ip,int port){ int length = message.length(); byte buf[] = new byte[length]; buf = message.getBytes(); DatagramPacket rdp = new DatagramPacket(buf,0,length,ip,port); return rdp; } String PacketToString(DatagramPacket dp){ int length = dp.getLength(); byte buf[] = new byte[length]; buf = dp.getData(); String str = new String(buf,0,length); return str; } }
服务器端代码
import java.net.*; public class Server{ public Server(){ try{ byte buf[] = new byte[200]; DatagramPacket willRecv = new DatagramPacket(buf,200); DatagramSocket socket = new DatagramSocket(8000); for(int i=0;i<10;i++){ //服务端先接受数据包 socket.receive(willRecv); String message = PacketToString(willRecv); System.out.println(message); InetAddress ip = willRecv.getAddress(); int port = willRecv.getPort(); String str ="航班:"+i; DatagramPacket willsend = StringToPacket(str,ip,port); //发送数据包 socket.send(willsend); } }catch(Exception e){ e.printStackTrace(); } } public static void main(String[] args){ new Server(); } //字符串转换为数据包,UDP传输使用 DatagramPacket StringToPacket(String message,InetAddress ip,int port){ int length = message.length(); byte buf[] = new byte[length]; buf = message.getBytes(); DatagramPacket rdp = new DatagramPacket(buf,0,length,ip,port); return rdp; } String PacketToString(DatagramPacket dp){ int length = dp.getLength(); byte buf[] = new byte[length]; buf = dp.getData(); String str = new String(buf,0,length); return str; } }
相关文章推荐
- 黑马程序员_java网络编程——UDP传输和TCP传输
- Lesson_for_java_day22--java的网络编程(IP、URL、UDP传输)
- 浅析Java网络编程之UDP传输(一)
- java 网络编程二 UDP传输协议(例:2个进程进行聊天)
- 黑马程序员_Java基础_网络编程_UDP传输协议编程,控制台聊天程序
- JAVA基础 day25 网络编程 IP类 UDP,TCP传输学习 简易聊天工具 TCP并发学习
- java网络编程--udp传输示例
- Java学习日志(23-2-网络编程-UDP传输)
- 黑马程序员——java网络编程中的传输协议:UDP和TCP
- java 网络编程 基于TCP ,UDP的网络传输
- java 网络编程 [网络传输] [协议] [UDP与TCP] [套接字] [URL与URI]
- 黑马程序员——Java网络编程之UDP传输
- 黑马程序员--10.网络编程--02.【网络传输三要素在Java中的体现】【TCP和UDP概念】【Socket基本概念】
- java网络编程之UDP
- java例程练习(网络编程[简单UDP通信试验])
- 黑马程序员 Java网络传输UDP和TCP协议
- java例程练习(网络编程[简单UDP通信试验])
- java 网络编程【3】 UDP详解及其相关实例
- 案例三:java网络编程(对象流传输)
- java网络编程之UDP