日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

UDP接收端和发送端_Socket编程

發(fā)布時(shí)間:2024/4/13 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UDP接收端和发送端_Socket编程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
  • UDP接收端


?

  • 接收端啟動(dòng)文件
  • 1 import java.net.DatagramSocket; 2 import java.net.SocketException; 3 4 public class Server { 5 6 public static void main(String[] args){ 7 8 try { 9 10 DatagramSocket socket = new DatagramSocket(9999); 11 ServerThread sThread = new ServerThread(socket); 12 sThread.start(); 13 14 } catch (SocketException e) { 15 16 e.printStackTrace(); 17 } 21 } 24 }

    ?

  • 接收端線程文件
  • 1 import java.io.IOException; 2 import java.net.DatagramPacket; 3 import java.net.DatagramSocket; 4 import java.net.InetAddress; 5 import java.net.SocketException; 6 7 public class ServerThread extends Thread{ 8 9 DatagramSocket socket = null; 10 11 public ServerThread(DatagramSocket socket) { 12 super(); 13 this.socket = socket; 14 } 15 16 @Override 17 public void run() { 18 super.run(); 19 20 try { 21 // socket = new DatagramSocket(9999); 22 23 //建立數(shù)據(jù)包 24 byte []buf = new byte[1024]; 25 DatagramPacket packet = new DatagramPacket(buf, buf.length); 26 System.out.println( "服務(wù)器開始運(yùn)行...." ); 27 while(true) { 28 29 //接收客戶端數(shù)據(jù) 30 socket.receive(packet); 31 32 //讀取數(shù)據(jù)包的內(nèi)容 33 String data = new String(buf, 0, packet.getLength()); 34 System.out.println("我是服務(wù)器,接收到客戶端的消息:"+data); 35 36 //發(fā)送,先獲取客戶端信息 37 InetAddress address = packet.getAddress(); 38 int port = packet.getPort(); 39 byte []str = "服務(wù)器響應(yīng):你好".getBytes(); 40 DatagramPacket packet2 = new DatagramPacket(str, str.length,address,port); 41 socket.send(packet2); 42 43 } 44 45 } catch (SocketException e) { 46 e.printStackTrace(); 47 } catch (IOException e) { 48 // TODO Auto-generated catch block 49 e.printStackTrace(); 50 } 51 finally { 52 socket.close(); 53 } 54 55 } 56 }

    ?

    • UDP發(fā)送端

    ?


    ?

    1 import java.io.IOException; 2 import java.net.DatagramPacket; 3 import java.net.DatagramSocket; 4 import java.net.InetAddress; 5 import java.net.SocketException; 6 import java.text.SimpleDateFormat; 7 import java.util.Date; 8 import java.util.Scanner; 9 10 public class Client { 11 12 public static void main(String[] args) throws IOException{ 13 14 DatagramSocket socket = null; 15 16 try { 17 18 socket = new DatagramSocket();//udp不用端口號(hào) 19 20 while(true) { 21 //時(shí)間 22 Date myDate = new Date(); 23 SimpleDateFormat dFormat = new SimpleDateFormat("HH:mm:ss"); 24 //發(fā)送信息 25 InetAddress address = InetAddress.getLocalHost();//取得服務(wù)器地址 26 int port = 9999; 27 28 Scanner input = new Scanner(System.in);//改為輸入發(fā)送 29 String inContent ="\r\n" + dFormat.format(myDate) + "\r\n" +"黃哥哥說:"+ input.next(); 30 31 byte []str = inContent.getBytes(); 32 DatagramPacket packet2 = new DatagramPacket(str, str.length,address,port);//InetAddress.getByName( "192.168.4.198" ) 33 socket.send(packet2); 34 35 //接收信息 36 //建立數(shù)據(jù)報(bào)包 37 byte []buf = new byte[1024]; 38 DatagramPacket packet = new DatagramPacket(buf, buf.length); 39 40 //接收服務(wù)器信息 41 socket.receive(packet); 42 43 //讀取數(shù)據(jù)包的內(nèi)容 44 String data = new String(buf, 0, packet.getLength()); 45 System.out.println(data); 46 47 } 48 } catch (SocketException e) { 49 // TODO Auto-generated catch block 50 e.printStackTrace(); 51 }finally { 52 //關(guān)閉 53 socket.close(); 54 } 55 56 } 57 }

    ?

    ?

    ?

    • 運(yùn)行效果


    ?

  • 發(fā)送端發(fā)送消息,接收端回應(yīng)
  • 2.接收端收到的消息

    轉(zhuǎn)載于:https://www.cnblogs.com/ynhwl/p/9434219.html

    總結(jié)

    以上是生活随笔為你收集整理的UDP接收端和发送端_Socket编程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。