柚子快報邀請碼778899分享:Java網(wǎng)絡(luò)編程---UDP
柚子快報邀請碼778899分享:Java網(wǎng)絡(luò)編程---UDP
客戶端
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;
public class Client {
public static void main(String[] args) throws Exception {
//1.創(chuàng)建客戶端對象
DatagramSocket socket = new DatagramSocket();
//2.創(chuàng)建數(shù)據(jù)包對象封裝要發(fā)出去的數(shù)據(jù)
/* public DatagramPacket(byte buf[], int offset, int length,
InetAddress address, int port)*/
Scanner sc = new Scanner(System.in);
while (true){
//將數(shù)據(jù)轉(zhuǎn)成字節(jié)
System.out.println("user:");
String msg = sc.nextLine();
if ("exit".equals(msg)){
System.out.println("退出成功!");
socket.close();
break;
}
byte[] bytes =msg.getBytes();
DatagramPacket packet = new DatagramPacket(bytes, bytes.length,InetAddress.getLocalHost(),6666);
//3.發(fā)送
socket.send(packet);
}
}
}
服務(wù)端
import java.nio.charset.StandardCharsets;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class Server {
public static void main(String[] args) throws Exception{
System.out.println("----------服務(wù)端-----------");
//1.創(chuàng)建一個服務(wù)端的對象
DatagramSocket socket = new DatagramSocket(6666);
//2.創(chuàng)建一個數(shù)據(jù)包對象 來接數(shù)據(jù)
byte[] buffer = new byte[1024 * 64]; //64kb
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
while (true){
//接收數(shù)據(jù)
socket.receive(packet);
//打印出來
int len = packet.getLength();
String rs = new String(buffer,0,len, StandardCharsets.UTF_8);
System.out.println(rs);
//接收的客戶端的信息
System.out.println(packet.getAddress());
System.out.println(packet.getPort());
System.out.println("-----------------------------------------");
}
}
}
效果
柚子快報邀請碼778899分享:Java網(wǎng)絡(luò)編程---UDP
相關(guān)文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。