s-day11-UDP的客户端实现
This commit is contained in:
@@ -0,0 +1,44 @@
|
|||||||
|
package com.inmind.udp02;
|
||||||
|
|
||||||
|
import java.net.DatagramPacket;
|
||||||
|
import java.net.DatagramSocket;
|
||||||
|
import java.net.InetAddress;
|
||||||
|
|
||||||
|
/*
|
||||||
|
UDP(印度飞饼)
|
||||||
|
1.面向无连接
|
||||||
|
2.传输不安全
|
||||||
|
3.传输数据有限制,64KB以内
|
||||||
|
|
||||||
|
在java中使用DatagramSocket来表示UDP的客户端和服务端
|
||||||
|
构造方法
|
||||||
|
DatagramSocket() 创建客户端的Socket对象,系统会随机分配一个端口号。
|
||||||
|
DatagramSocket(int port) 创建服务端的Socket对象,并指定端口号。
|
||||||
|
|
||||||
|
常用方法:
|
||||||
|
void send(DatagramPacket p) 发送数据包
|
||||||
|
void receive(DatagramPacket p) 使用数据包接收数据
|
||||||
|
|
||||||
|
DatagramPacket :数据包
|
||||||
|
DatagramPacket(byte[] buf, int length, InetAddress address, int port) 创建发出去的数据包对象
|
||||||
|
DatagramPacket(byte[] buf, int length) 创建接收数据的数据包对象
|
||||||
|
int getLength() 返回要发送的数据的长度或接收到的数据的长度
|
||||||
|
|
||||||
|
需求:使用UDP实现快速通信,实现1发1收
|
||||||
|
|
||||||
|
*/
|
||||||
|
public class Demo02 {
|
||||||
|
public static void main(String[] args) throws Exception {
|
||||||
|
//1创建客户端对象(丢飞饼的阿三)
|
||||||
|
DatagramSocket socket = new DatagramSocket();//随机分配端口
|
||||||
|
|
||||||
|
//2.创建数据包对象,封装要发出去的数据(创建一个飞饼)
|
||||||
|
byte[] bytes = "我爱java,java爱我".getBytes();
|
||||||
|
DatagramPacket packet = new DatagramPacket(bytes,bytes.length, InetAddress.getLocalHost(),10022);
|
||||||
|
//3.客户端正式发送这个数据包出去
|
||||||
|
socket.send(packet);
|
||||||
|
System.out.println("客户端数据发送完毕~~");
|
||||||
|
socket.close();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user