网络通讯---UDP
MyServer
1 package com.wanwan.net; 2 3 import java.io.ByteArrayInputStream; 4 import java.io.DataInputStream; 5 import java.io.IOException; 6 import java.net.DatagramPacket; 7 import java.net.DatagramSocket; 8 import java.net.SocketException; 9 10 public class MyServer { 11 12 public static void main(String[] args) throws IOException{ 13 14 DatagramSocket server = new DatagramSocket(8888); 15 byte[] container = new byte[1024]; 16 DatagramPacket packet = new DatagramPacket(container, container.length); 17 while(true){ 18 System.out.println("udp"); 19 server.receive(packet); 20 double data = convert(packet.getData()); 21 System.out.println(data); 22 } 23 24 } 25 26 public static double convert(byte[] data) throws IOException{ 27 DataInputStream dis = new DataInputStream(new ByteArrayInputStream(data)); 28 double num = dis.readDouble(); 29 dis.close(); 30 return num; 31 } 32 }
MyClient
1 package com.wanwan.net; 2 3 import java.io.ByteArrayOutputStream; 4 import java.io.DataOutputStream; 5 import java.io.IOException; 6 import java.net.DatagramPacket; 7 import java.net.DatagramSocket; 8 import java.net.InetSocketAddress; 9 import java.net.SocketAddress; 10 import java.net.SocketException; 11 12 public class MyClient { 13 14 public static void main(String[] args) throws IOException{ 15 16 DatagramSocket client = new DatagramSocket(6666); 17 double num = 29.12; 18 byte[] data = convert(num); 19 DatagramPacket packet = new DatagramPacket(data, data.length, new InetSocketAddress("localhost", 8888)); 20 client.send(packet); 21 client.close(); 22 } 23 24 public static byte[] convert(double num) throws IOException{ 25 byte[] data = null; 26 ByteArrayOutputStream bos = new ByteArrayOutputStream(); 27 DataOutputStream dos = new DataOutputStream(bos); 28 dos.writeDouble(num); 29 dos.flush(); 30 data = bos.toByteArray(); 31 return data; 32 } 33 34 }