网络通讯---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 }
posted @ 2017-03-08 14:05  yuge790615  阅读(198)  评论(0编辑  收藏  举报