Java 基于UDP協議實現消息發送
發短信:不用連接,但需要知道對方的地址,客戶端、服務端沒有明確的界限,可以說沒有客戶端、服務端一說。
發送端
package lesson03;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;/** * 發送端 */public class UdpClientDemo1 { public static void main(String[] args) throws Exception { //1、建立一個 Socket DatagramSocket socket = new DatagramSocket(); /** * 2、建個包 */ //需要發送的消息 String msg = '你好啊,服務器!'; //發送地址 InetAddress localhost = InetAddress.getByName('localhost'); //主機 //發送端口 int port = 9090; /** * 五個參數: * @param buf msg.getBytes():需要發送的數據包 * @param offset 0:數據偏移量 * @param length msg.getBytes().length:數據長度 * @param address localhost:目標地址 * @param port port:目標端口 */ DatagramPacket packet = new DatagramPacket(msg.getBytes(), 0, msg.getBytes().length, localhost, port); //3、發送包 socket.send(packet); //4、關閉流 socket.close(); }}
接收端
package lesson03;import java.net.DatagramPacket;import java.net.DatagramSocket;/** * 接收端 */public class UdpServerDemo1 { public static void main(String[] args) throws Exception { //開放端口 DatagramSocket socket = new DatagramSocket(9090); //接收數據包 byte[] buffer = new byte[1024]; DatagramPacket packet = new DatagramPacket(buffer, 0, buffer.length); //接收 socket.receive(packet); //阻塞接收 //輸出數據包地址 System.out.println(packet.getAddress().getHostAddress()); /** * 輸出數據包數據 * packet:Data 類型 * 通過構造器轉成 String 類型:new String(); */ System.out.println(new String(packet.getData(), 0, packet.getLength())); //關閉連接 socket.close(); }}
以上就是Java 基于UDP協議實現消息發送的詳細內容,更多關于Java 消息發送的資料請關注好吧啦網其它相關文章!
相關文章:
1. CSS3實例分享之多重背景的實現(Multiple backgrounds)2. java將String字符串轉換為List<Long>類型實例方法3. javascript設計模式 ? 備忘錄模式原理與用法實例分析4. Java網絡編程實例——簡單模擬在線聊天5. Java Servlet請求重定向的方法6. JavaScript設計模式之職責鏈模式7. JSP靜態導入與動態導入使用詳解8. PHP基礎之類和對象6——訪問控制:public/protected/private9. MessagePack 和System.Text.Json 序列化和反序列化性能及對比分析10. 基于Python實現全自動下載抖音視頻
