生活随笔
收集整理的這篇文章主要介紹了
UDP协议下的DatagramSocket和DatagramPacket
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1,UDP協(xié)議?
面向無連接,數(shù)據(jù)不安全,但速度快。不區(qū)分客戶端與服務(wù)端。
2,實現(xiàn)通信? (三個達到)
- IP 簡單說就是你電腦地址。
- 端口 你電腦里面軟件的地址。
- 協(xié)議 如何進行通訊。
DatagramSocket 用來發(fā)送和接收數(shù)據(jù)報包的套接字。
DatagramPacket 數(shù)據(jù)報包用來實現(xiàn)無連接包投遞服務(wù)。
3,代碼實現(xiàn)
22222童鞋有點仰慕33333童鞋,下面是22222童鞋給33333童鞋發(fā)消息。
package c20_1_4
;import java
.io
.IOException
;
import java
.io
.UnsupportedEncodingException
;
import java
.net
.DatagramPacket
;
import java
.net
.DatagramSocket
;
import java
.net
.InetAddress
;
import java
.net
.SocketException
;
import java
.net
.UnknownHostException
;
import java
.util
.Scanner
;public class TestSocket {public static void send() {try {DatagramSocket ds
= new DatagramSocket(22222);System
.out
.println("請輸入消息:");Scanner sc
= new Scanner(System
.in
);String msg
= sc
.nextLine();byte[] b
= msg
.getBytes("utf-8");DatagramPacket p
= new DatagramPacket(b
, b
.length
, InetAddress
.getByName("127.0.0.1"), 33333);ds
.send(p
);sc
.close();ds
.close();System
.out
.println("已發(fā)送。");} catch (SocketException e
) {e
.printStackTrace();} catch (UnsupportedEncodingException e
) {e
.printStackTrace();} catch (UnknownHostException e
) {e
.printStackTrace();} catch (IOException e
) {e
.printStackTrace();}}public static void get() {try {System
.out
.println("我是33333, 等待你的消息...");DatagramSocket ds
= new DatagramSocket(33333);byte[] get
= new byte[1024];DatagramPacket p
= new DatagramPacket(get
, get
.length
);ds
.receive(p
);System
.out
.println("地址為:" + p
.getAddress() + "端口為:" + p
.getPort() + "給你發(fā)消息啦!");System
.out
.println("消息為: " + new String(get
, 0, p
.getLength(), "utf-8"));ds
.close();} catch (SocketException e
) {e
.printStackTrace();} catch (IOException e
) {e
.printStackTrace();}}}
測試一下。
public static void main(String
[] args
) {get();}
public static void main(String
[] args
) {send();
發(fā)了
哈哈哈,恭喜22222同學,33333收到了你的愛意。(???(???(???*)
總結(jié)
以上是生活随笔為你收集整理的UDP协议下的DatagramSocket和DatagramPacket的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。