轉(zhuǎn)帖|其它|編輯:郝浩|2010-07-20 14:45:41.000|閱讀 664 次
概述:在GCF中提供了DatagramConnection和Datagram兩個(gè)接口,借助他們我們可以在J2ME中基于UDP協(xié)議開發(fā)聯(lián)網(wǎng)應(yīng)用程序。我們知道UDP服務(wù)是不可靠的,如果你希望開發(fā)更可靠的聯(lián)網(wǎng)應(yīng)用的話可以采用SocketConnection,因?yàn)門CP服務(wù)是面向連接且可靠的。我們還必須清楚地一點(diǎn)是以上所說的各種連接方式都不是MIDP規(guī)范中規(guī)定必須實(shí)現(xiàn)的。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在GCF中提供了DatagramConnection和Datagram兩個(gè)接口,借助他們我們可以在J2ME中基于UDP協(xié)議開發(fā)聯(lián)網(wǎng)應(yīng)用程序。在MIDP2.0中,添加了UDPDatagramConnection這個(gè)接口,他擴(kuò)展了DatagramConnection并添加了兩個(gè)方法getLocalAddress()和getLocalPort()。我們知道UDP服務(wù)是不可靠的,如果你希望開發(fā)更可靠的聯(lián)網(wǎng)應(yīng)用的話可以采用SocketConnection,因?yàn)門CP服務(wù)是面向連接且可靠的。我們還必須清楚地一點(diǎn)是以上所說的各種連接方式都不是MIDP規(guī)范中規(guī)定必須實(shí)現(xiàn)的。因此在使用之前請(qǐng)參考特定設(shè)備的開發(fā)文檔。MIDP中只有Http連接是必須支持的。
同樣,我們要獲得DatagramConnection的話,必須通過Connector的open方法,其中的URL應(yīng)該滿足如下的形式。
建立連接后,我們可以通過DatagramConnection的newDatagram()方法構(gòu)造一個(gè)Datagram,然后調(diào)用DatagramConnection的send()方法。這樣數(shù)據(jù)報(bào)將會(huì)發(fā)送到指定的接受方。例如你可以構(gòu)建這個(gè)一個(gè)負(fù)責(zé)發(fā)送數(shù)據(jù)的Sender類。
package com.siemens.datagramtest; import javax.microedition.io.Datagram; public class Sender extends Thread private DatagramConnection dc; private String address; private String message; public Sender(DatagramConnection dc) public synchronized void send(String addr, String msg) public synchronized void run() while (true) // If no client to deal, wait until one connects try // Completed client handling, return handler to pool and } |
注意聯(lián)網(wǎng)的時(shí)候我們應(yīng)該在另外一個(gè)線程中而不是在主線程中。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:網(wǎng)絡(luò)轉(zhuǎn)載