<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    即興的靈感

    思維是一種藝術(shù); 藝術(shù)需要靈感。

    博客好友

    最新評(píng)論

    JavaME中使用Socket通信基礎(chǔ)應(yīng)用

       在JavaME的網(wǎng)絡(luò)開發(fā)中,我們通常使用的兩種網(wǎng)絡(luò)通信協(xié)議是HTTP超文本傳輸協(xié)議和Socket套接字協(xié)議,但是由于HTTP是短連接,因此在某些手機(jī)中可能會(huì)出現(xiàn)不斷出現(xiàn)連接網(wǎng)絡(luò)的提示,因此很多時(shí)候我們通過Socket來實(shí)現(xiàn)網(wǎng)絡(luò)連接。在Socket開發(fā)中,我們應(yīng)用的比較多的是手機(jī)端與手機(jī)端之間的通信,還有手機(jī)與服務(wù)器的通信。下面分別簡(jiǎn)單歸納下兩種通信的基本實(shí)現(xiàn)。
       一、手機(jī)端與服務(wù)器端的Socket通訊 我們通常需要在手機(jī)中實(shí)現(xiàn)某些功能,而這些功能需要服務(wù)器提供服務(wù),因而在手機(jī)中需要建立與服務(wù)器之間的有效通信。在服務(wù)器端我們使用的是ServerSocket來創(chuàng)建服務(wù)socket,代碼如:ServerSocket server = new ServerSocket(4321);,這樣就打開了一個(gè)ServerSocket,然后我們使用ServerSocket的accept方法來監(jiān)聽客戶端建立的連接,該方法在沒有客戶端建立請(qǐng)求的時(shí)候會(huì)一直處于阻塞狀態(tài),直到有連接建立則形成Socket對(duì)象,服務(wù)器通常需要為多客戶端同時(shí)提供服務(wù),因此一般情況下,我們通過在一個(gè)循環(huán)中不斷監(jiān)聽客戶端連接,并為每一個(gè)連接創(chuàng)建一個(gè)線程提供獨(dú)立服務(wù)。
       ServerSocket server = new ServerSocket(4321);
       while(true) {
       socket = server.accept();
       new ServerThread(socket).start();
       }
       然后在線程中打開socket的通信數(shù)據(jù)流與客戶端進(jìn)行通訊。
       在JavaME中,與JavaSE的socket使用方式有些不同,在打開Socket連接的時(shí)候,使用的不是Socket,而是SocketConnection,并由JavaME中的網(wǎng)絡(luò)連接類Connector的open方法來建立socket連接,同時(shí),由于open方法返回的是Connection對(duì)象,因此需要將其轉(zhuǎn)化為SocketConnection對(duì)象。
       SocketConnection sc = (SocketConnection) Connector.open("socket://127.0.0.1:4321"); 這樣就打開了一個(gè)socket連接對(duì)象,然后通過獲取該socket的通信流就可以跟服務(wù)器之間進(jìn)行數(shù)據(jù)交換。
      
       二、手機(jī)端與手機(jī)端之間的Socket通訊 有些開發(fā)應(yīng)用中,實(shí)現(xiàn)了手機(jī)與手機(jī)之間直接的通訊,這就需要讓一個(gè)手機(jī)作為服務(wù)端,而另一手機(jī)作為客戶端來處理,作為客戶端的Socket使用方法與以上(一)中相同,不同的主要是作為服務(wù)端的手機(jī)程序?qū)崿F(xiàn)。 同樣的,在JavaME中并不是通過ServerSocket來創(chuàng)建服務(wù)Socket的,而是通過ServerSocketConnection來實(shí)現(xiàn),并且一樣是通過Connector來打開連接,使用的方法是acceptAndOpen,具體實(shí)現(xiàn)如下:
       ServerSocketConnection ssc = (ServerSocketConnection)Connector.open("socket://:1234");
       SocketConnection sc = (SocketConnection)ssc.acceptAndOpen();
       在得到SocketConnection對(duì)象之后便可以通過獲取相應(yīng)的socket數(shù)據(jù)流進(jìn)行通信。
       DataInputStream dis = sc.openDataOutputStream();
       DataOutputStream dos = sc.openDataInputStream();
       以上為分別對(duì)手機(jī)與服務(wù)器端之間、手機(jī)與手機(jī)之間通過Socket進(jìn)行通訊的基本方法。

    ?
    鳳凰涅槃/浴火重生/馬不停蹄/只爭(zhēng)朝夕
    ???? 隱姓埋名/低調(diào)華麗/簡(jiǎn)單生活/完美人生

    posted on 2009-09-14 15:59 poetguo 閱讀(1706) 評(píng)論(0)  編輯  收藏 所屬分類: JAVAJ2ME

    主站蜘蛛池模板: 两个人的视频www免费| 免费观看午夜在线欧差毛片| 成全影视免费观看大全二| 亚洲欧洲日产国码久在线| 亚洲天堂免费在线视频| 91制片厂制作传媒免费版樱花| 亚洲欧美日韩中文无线码 | 亚洲美女又黄又爽在线观看| 中文字幕在线观看免费视频 | 四虎1515hm免费国产| a国产成人免费视频| 亚洲一区二区三区在线播放| 久久免费的精品国产V∧| 亚洲AV日韩AV无码污污网站 | 亚洲三级视频在线| 亚洲精品乱码久久久久久不卡| 99re在线这里只有精品免费 | 毛片在线免费视频| a级精品九九九大片免费看| 亚洲人成人网毛片在线播放| 日本红怡院亚洲红怡院最新| 成年18网站免费视频网站| 无码精品一区二区三区免费视频| 色偷偷噜噜噜亚洲男人| 亚洲av日韩av无码黑人| 哒哒哒免费视频观看在线www| 69国产精品视频免费| 九九久久精品国产免费看小说| 亚洲AV综合色区无码二区爱AV| 国产亚洲综合久久系列| 日本不卡在线观看免费v| 88av免费观看| a毛片全部播放免费视频完整18| 亚洲av无码有乱码在线观看| 亚洲导航深夜福利| 亚洲av无码成人黄网站在线观看| yy6080亚洲一级理论| 免费高清资源黄网站在线观看| 18成禁人视频免费网站| 久操视频免费观看| CAOPORN国产精品免费视频|