激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 簡單講解Java的Socket網絡編程的多播與廣播實現

簡單講解Java的Socket網絡編程的多播與廣播實現

2020-03-24 13:22cdai JAVA教程

這篇文章主要介紹了Java的Socket網絡編程的多播與廣播實現,包括網絡編程發送和接受數據的一些基礎知識整理,需要的朋友可以參考下

在Java中,我們可以有很多種方法來發送和接收數據。有的方法比較靠近底層,有些問題就需要程序員自己去解決,而有些方法抽象層次比較高,很方便地就可以拿來使用。這些處理數據的方法根據抽象層次由低到高分別有:

1.手動編碼:使用位運算逐個自己編碼和解析。

2.利用流來自動編碼:組合使用OutputStream和ByteArrayOutputStream。

3.序列化:將數據放入一個數據對象中,直接將這個對象序列化后發送。
使用起來很方便,但要注意效率的損失,以及接收方也要使用Java。

4.RMI:將對方法的調用都發送過去了,直接實現了方法的遠程調用。


在最底層的方法1中,我們需要自己解決一些底層的問題:

1.整型的發送:要考慮是大尾端還是小尾端,是無符號的還是有符號的整數。

2.字符串的發送:要考慮編碼問題。

3.無長度限制的類型,如大整數:要編碼成幀Frame,通過定界符或者長度位
來區分每幀。

多播與廣播

我們可以向每個接受者單播一個數據副本,但這樣做效率可能非常低。
只有UDP套接字允許廣播和多播,兩者的區別是:廣播會發送到網絡上所有可達的
主機,有些操作系統可能不允許普通用戶進行廣播操作;而多播只發送給感興趣的
主機。具體來說是調用MulticastSocket的joinGroup()加入到多播組的主機。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
public class MulticastReceiverTest {
 
 public static void main(String[] args) throws Exception {
 
 final InetAddress address = InetAddress.getByName("224.1.1.1");
 final int port = 45599;
 
 for (int i = 0; i < 5; i++) {
  new Thread("Thread #" + i){
  @Override
  public void run() {
   try {
   MulticastSocket sock = new MulticastSocket(port);
   sock.joinGroup(address);
   
   byte[] msg = new byte[256];
   DatagramPacket packet = new DatagramPacket(msg, msg.length);
   
   sock.receive(packet);
   System.out.println(Thread.currentThread().getName() +
    " receive: " + new String(packet.getData()));
   }
   catch (IOException e) {
   e.printStackTrace();
   }
  }
  }.start();
 }
 
 Thread.sleep(2000);
 
 MulticastSocket sock = new MulticastSocket();
 sock.setTimeToLive(32);
 
 byte[] msg = "hellomulticast".getBytes();
 DatagramPacket packet = new DatagramPacket(msg, msg.length, address, port);
 
 sock.send(packet);
 System.out.println("Message sent");
 }
 
}

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 九九热视频免费观看 | 国产1区2区在线观看 | av在线直播观看 | 天堂成人一区二区三区 | 国产毛片aaa一区二区三区视频 | 日本在线高清 | 电影一级毛片 | 久久久精品99 | 亚洲成人免费网站 | 国产一级一片免费播放 | 久久99久久99精品 | 在线观看国产日韩 | 日韩视频一区二区在线观看 | 最新中文字幕在线视频 | 国产成人自拍视频在线 | 欧美一级爱操视频 | 国产在线区| 黄色网址在线播放 | 中文字幕在线资源 | 福利一区二区三区视频在线观看 | 免费看毛片的网站 | 在线看毛片的网站 | 亚洲第一成av人网站懂色 | 国产片91| 泰剧19禁啪啪无遮挡大尺度 | 欧美性猛交xxxxx按摩国内 | 成人在线免费视频播放 | 99re3 | 亚洲精品aⅴ中文字幕乱码 欧美囗交 | 欧美一级小视频 | 久久综合艹| av日韩在线免费观看 | 视频一区 中文字幕 | av黄色在线免费观看 | 91视频第一页 | av免费在线观看不卡 | 老师你怎么会在这第2季出现 | 成人精品| 免费一级欧美大片视频 | 黄色片快播 | 亚洲第一成人久久网站 |