UDP通信方式:以数据为中心,非面向连接,不安全,数据可能丢失,但是效率较高。
在java中的使用:
一·类DatagramSocket DatagramPacket
1.客户端
1)创建客户端 DatagramSocket类+指定端口
2)准备数据 字节数组
3)打包 DatagramaPacket+服务器地址与端口
4)发送
5)释放资源
2.服务器端
1)创建服务端 DatagramSocket类+指定端口
2)准备接受容器 字节数组 封装 DatagramPacket
3)包,接收数据
4)分析
5)释放资源
示例代码:
package Socket;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
/**
* udp编程
* Created by dd on 2016/6/8 0008.
*/
public class demo05 {
}
//客户端
class MyClient{
public static void main(String[] args) throws IOException {
//创建客户端加端口
DatagramSocket client = new DatagramSocket(6666);
//准备数据
String msg = "ksclove my1008";
byte[] bytes = msg.getBytes();
//打包(发送的地点与端口)
DatagramPacket packet = new DatagramPacket(bytes, bytes.length, new InetSocketAddress("localhost", 8888));
//发送
client.send(packet);
//释放资源
client.close();
}
}
//服务端
class MyServer{
public static void main(String[] args) throws IOException {
//创建服务端+端口
DatagramSocket server = new DatagramSocket(8888);
//准备接收容器
byte[] container = new byte[1024];
//打包容器
DatagramPacket packet = new DatagramPacket(container, container.length);
//接收数据
server.receive(packet);
//分析数据
byte[] data = packet.getData();
int length = packet.getLength();
System.out.println(new String(data,0,length));
//释放资源
server.close();
}
}