客户端代码
package com.bjaxt.ant.java;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketException;
/**
* @author Administrator
* 客户端
* 创建客户端+端口
*
*
*
*
*将double装换为字节数组
*/
public class Clicent {
public static void main(String[] args) throws Exception {
//1。创建客户端+端口
DatagramSocket client =new DatagramSocket(6666);
//2准备数据
double num = 0.75;
byte[] date = getdouble(num);
//打包(发送的地址及端口)Datagrampacket(bype[] buf,int length)
DatagramPacket packet = new DatagramPacket(date,date.length,new InetSocketAddress("localhost", 8888));
//发送
client.send(packet);
//释放
client.close();
}
public static byte[] getdouble(double num) throws Exception{
byte[] data=null;
ByteArrayOutputStream stream = new ByteArrayOutputStream();
DataOutputStream stream2 = new DataOutputStream(stream);
stream2.writeDouble(num);
data = stream.toByteArray();
stream2.flush();
stream2.close();
return data;
}
}
服务端代码
package com.bjaxt.ant.java;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
/**
* @author Administrator
* 服务端
* 1。创建服务端+端口
* 2.准备接收容器
* 3,分装成包
* 4.接收数据
* 5.分析数据
*
*/
public class Server {
public static void main(String[] args) throws Exception {
//1。创建服务端+端口
DatagramSocket data =new DatagramSocket(8888);
//2.准备接收容器
byte[] container = new byte[1024];
//3.封装成包Datagrampacket(bype[] buf,int length)
DatagramPacket packet = new DatagramPacket(container,container.length);
//4.接收数据
data.receive(packet);
//5.分析数据
byte[] j = packet.getData();
double h = getbyte(j);
System.out.println(h);
//释放
data.close();
}
public static double getbyte(byte[] bytearr) throws Exception{
ByteArrayInputStream b = new ByteArrayInputStream(bytearr);
DataInputStream h = new DataInputStream(b);
double d = h.readDouble();
return d;
}
}
访问的时候先启动server类 在启动client才能现实效果,