真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java代碼中dp java代碼中的@override表示

40、在Java中,如何實(shí)現(xiàn)組播通信?

編輯一個(gè)java組播應(yīng)用程序的過(guò)程如下

創(chuàng)新互聯(lián)建站是專業(yè)的珙縣網(wǎng)站建設(shè)公司,珙縣接單;提供成都網(wǎng)站制作、做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行珙縣網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

1. 創(chuàng)建一個(gè)用于發(fā)送和接收的MulticastSocket組播套接字對(duì)象

2. 創(chuàng)建一個(gè)指定緩沖區(qū)大小及組播地址和端口的DatagramPacket組播數(shù)據(jù)包對(duì)象

3. 使用組播套接字joinGroup(),將其加入到一個(gè)組播

4. 使用組播套接字的send()方法,將組播數(shù)據(jù)包對(duì)象放入其中,發(fā)送組播數(shù)據(jù)包.

或者

使用組播套接字的receive()方法,將組播數(shù)據(jù)包對(duì)象放入其中,接收組播數(shù)據(jù)包

5. 解碼組播數(shù)據(jù)包提取信息,并依據(jù)得到的信息作出響應(yīng)String s = new String(dp.getData(), 0, dp.getLength());

6. 重復(fù)過(guò)程4和5,即在while循環(huán)中實(shí)現(xiàn)。

7. 使用組播套接字的leaveGroup()方法,離開(kāi)組播組;關(guān)閉組播套接字

接收組播數(shù)據(jù)包程序:

Java代碼

public class MulticastReceived {

public static void main(String[] args) throws Exception {

InetAddress group = InetAddress.getByName("224.0.0.4"); // 組播地址

int port = 4006; // 端口

MulticastSocket msr = null;

try {

msr = new MulticastSocket(port); // 1.創(chuàng)建一個(gè)用于發(fā)送和接收的MulticastSocket組播套接字對(duì)象

msr.joinGroup(group); // 3.使用組播套接字joinGroup(),將其加入到一個(gè)組播

byte[] buffer = new byte[8192];

System.out.println("接收數(shù)據(jù)包啟動(dòng)?。▎?dòng)時(shí)間:)" + new java.util.Date() + ")");

while (true) {

DatagramPacket dp = new DatagramPacket(buffer, buffer.length); // 2.創(chuàng)建一個(gè)指定緩沖區(qū)大小及組播地址和端口的DatagramPacket組播數(shù)據(jù)包對(duì)象

msr.receive(dp); // 4.使用組播套接字的receive()方法,將組播數(shù)據(jù)包對(duì)象放入其中,接收組播數(shù)據(jù)包

String s = new String(dp.getData(), 0, dp.getLength()); // 5.解碼組播數(shù)據(jù)包提取信息,并依據(jù)得到的信息作出響應(yīng)

System.out.println(s);

}

} catch (IOException e) {

e.printStackTrace();

} finally {

if (msr != null) {

try {

msr.leaveGroup(group); // 7.使用組播套接字的leaveGroup()方法,離開(kāi)組播組

msr.close(); // 關(guān)閉組播套接字

} catch (IOException e) {

}

}

}

}

}

發(fā)送組播數(shù)據(jù)包程序:

Java代碼

public class MulticastSender {

public static void main(String[] args) throws Exception {

InetAddress group = InetAddress.getByName("224.0.0.1"); // 組播地址

int port = 4000; // 端口

MulticastSocket mss = null;

try {

mss = new MulticastSocket(port); // 1.創(chuàng)建一個(gè)用于發(fā)送和接收的MulticastSocket組播套接字對(duì)象

mss.joinGroup(group); // 3.使用組播套接字joinGroup(),將其加入到一個(gè)組播

byte[] buffer = new byte[8192];

System.out.println("接收數(shù)據(jù)包啟動(dòng)?。▎?dòng)時(shí)間:)" + new java.util.Date() + ")");

while (true) {

String message = "Hello" + new java.util.Date();

byte[] buffer2 = message.getBytes(); // 2.創(chuàng)建一個(gè)指定緩沖區(qū)大小及組播地址和端口的DatagramPacket組播數(shù)據(jù)包對(duì)象

DatagramPacket dp = new DatagramPacket(buffer, buffer.length, group, port);

// msr.receive(dp); //接收組播數(shù)據(jù)包

mss.send(dp); // 4.使用組播套接字的send()方法,將組播數(shù)據(jù)包對(duì)象放入其中,發(fā)送組播數(shù)據(jù)包

// String s = new String(dp.getData(), 0, dp.getLength()); //5.解碼組播數(shù)據(jù)包提取信息,并依據(jù)得到的信息作出響應(yīng)

System.out.println("發(fā)送數(shù)據(jù)包給" + group + ":" + port);

Thread.sleep(1000);

}

} catch (IOException e) {

e.printStackTrace();

} finally {

if (mss != null) {

try {

mss.leaveGroup(group); // 7.使用組播套接字的leaveGroup()方法,離開(kāi)組播組

mss.close(); // 關(guān)閉組播套接字

} catch (IOException e) {

}

}

}

}

}

java網(wǎng)絡(luò)編程問(wèn)題 求大神 dp.getAddress();是什么意思,獲取ip的話為什么不getLocalHost?

dp是類DatagramPacket的對(duì)象。getaddress是獲取發(fā)送信息計(jì)算機(jī)的IP地址。前者返回的不是字符串格式,后者返回是是字符串格式吧

android java代碼中設(shè)置控件的寬高單位是什么?

android中的控件如果在xml布局文件中把控件的layout_width和layout_height寫成固定值了,好像就不能再在程序中更改該控件的高度和寬度了,不知哪位大俠有何良策可以指教一二,如

xml文件內(nèi)容如下:

LinearLayout

android:id="@id/dialog_bottom_neutral"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_weight="1.0"

android:gravity="center"

Button

android:id="@id/dialog_bottom_neutral_button"

android:layout_width="80.0dip"

android:layout_height="28.0dip"

android:background="@drawable/dlg_button"

android:gravity="center"

android:singleLine="true"

android:text="mid"

android:textColor="@drawable/dlg_button_text_color"

android:textSize="14.0sp" /

/LinearLayout

總結(jié):如何在程序中動(dòng)態(tài)設(shè)置button的寬度和高度,在程序中使用button.width和button.height設(shè)置沒(méi)用,用LayoutParmas設(shè)置也沒(méi)用。

編程中的 DP是什么意思 比如數(shù)位DP 什么的

dp表示dynamic programing,這里programing不是編程的意思,意為規(guī)劃

dp就是動(dòng)態(tài)規(guī)劃,本來(lái)是運(yùn)籌學(xué)里面的一種技術(shù),現(xiàn)在多用在編程里面。特別是信息學(xué)競(jìng)賽和acm競(jìng)賽


網(wǎng)站欄目:java代碼中dp java代碼中的@override表示
網(wǎng)站地址:http://weahome.cn/article/ddsssee.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部