999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

JAVA語言實現底層網絡通信

2013-12-31 00:00:00文麗麗
中國電子商情 2013年18期

引言:本文主要簡要介紹如何使用JAVA語言進行編程實現計算機網絡通信協議要求的各項具體功能,使用JAVA語言編程完成計算機網絡底層通信協議,是JAVA網絡編程不可或缺的組成部分。

Java語言具有平臺無關特性、安全機制、高可靠性和內嵌的網絡支持,使之成為當前編寫網路應用程序的首選工具之一。網絡應用的核心思想是聯入網絡的不同計算機能夠跨越空間協同工作,這首先要求它們之間能夠準確、迅速的傳遞信息,在Java中這些信息是以數據流的方式傳送的。網絡通信協議種類繁多,我這里主要討論TCP/IP協議的,Java編程實現。

一、使用連接的流式socket (套接字)

套接字(Socket)作為編程接口,應用于TCP/IP的協議傳輸層,利用JAVA語言中Socket提供的一組應用程序編程接口(API)就可以編程實現TCP/IP協議的傳輸層連接。

(一)InetAddress類

InetAddress類是Java語言網絡編程中比較常用的類,它能夠區分計算機網絡中的不同節點,所有InetAddress對象都包含網絡IP地址、計算機主機名稱等信息,通過該對象獲取相關信息。語句如下:

InetAddress ipa= InetAddress.getByName(args[0]); //利用主機名創建對象

System.out.println(“Host name:”+ipa.getHostName()); //獲取主機名

System.out.println(“Host IP Address:”+ipa.toString()); //獲取IP地址

(二)流式套接字的通信原理

流式套接字實現的通信是基于連接的通信,分三步完成:

1.通信開始前,確認通信雙方身份并創建專用的虛擬連接通道;2.傳輸數據;3.通信結束刪除連接。如圖所示:

這種通信由于始終保持連接,從而保證了通信的實時性和準確性,然而建立連接和刪除連接的過程使程序的復雜度有了一定的提高,由于實時要求性高連接始終被保持,這樣使系統的內存等資源存在一定的浪費,所以只適用于不間斷的通信,如實時通信軟件,而對于一些間斷的服務的或實時性要求較低的通信,則可以使用無連接的數據報方式。

(三)實現流式Socket通信的Client端編程

public class MySockerServer

{

public static void main(String[] args)

{

ServerService MySe=new ServerService(8000,10); //創建服務對象,進行監聽服務

}

}

class ServiceThreak extends Frame implements Runnable

{//當客戶端請求生成,服務器建立Frame用于數據交互

ServerService Listener; //創建通信線程的listener對象

Socket Client; //創建Socket對象,負責本線程的C/S通信

Threak Threak; //創建線程用于通信

Panel Listener; //創建窗口,用于顯示通信中服務端的相關數據

TextArea SeMeg; //創建文本區,顯示相關數據

public ServiceThreak(ServerService v,Socket s) //構造函數

{

}

public void runner() //子線程任務,完成與客戶端的傳輸

{

try{

DataInputStream indata=new DataInputStream( //取得從客戶端輸入的數據流

new BufferedInputStream(ConnectedClient.getInputStream()));

PrintStream outdata=new PrintStream(//輸出對象,完成數據流輸出到客戶端操作

new BufferedOutputStream(ConnectedClient.getOutStream()));

output.flush(); //輸出信息到客戶端

String str=input.readLine(); // 字符串存儲客戶端輸入信息

while (!str.equals(“BYE!”))

{

str=input.readLine(); //字符串str中存儲客戶端輸入的下一行數據

}

connectdeClient.close(); //當從客戶端輸入“BYE!”結束循環,即通信結束

catch(Exception e){}

Listener.addMeg(“客戶端關閉”+”\n”);

Dispose(); //斷開通信

}

}

二、無連接的數據報(UDP)

流式套接字(Socket)用于完成不間斷的連接,可靠性和準確性高,同樣存在資源浪費問題,如網絡資源和計算機系統資源,所以在對時間和準確性要求較低的應用中,如收發電子郵件,可采用無連接的數據報方式(UDP)。

UDP是與Socket相反的連接,它的協議是不需要連接的,通過UDP直接發送數據包,UDP只適用于數據量較少的傳輸需求、并且對時間和可靠性要求較低的應用。由于UDP協議沒不存在的過程,使他的傳輸效率較高;也正因為這個原因,它的可靠性不如流式套接字(Socket)高。騰訊QQ就是使用UDP收發信息典型案例,所以用戶就會遇到信息丟失的情況。

參考文獻

[1]朱喜福,徐劍魁.Java程序設計[M].清華大學出版社,2010.

[2]辛運幃,饒一梅.Java語言程序設計[M].人民郵電出版社,2009.

[3]劉永華.Java網絡編程技術[M].清華大學出版社,2008.

(作者單位:天津交通職業學院)

主站蜘蛛池模板: 天天操精品| 国产天天色| 女人一级毛片| 一本久道热中字伊人| 国产亚洲男人的天堂在线观看| 无码一区二区波多野结衣播放搜索| 国产亚洲精品资源在线26u| 欧美国产日韩一区二区三区精品影视 | 亚洲精品无码av中文字幕| yy6080理论大片一级久久| 国产成人亚洲精品无码电影| 动漫精品中文字幕无码| 超清无码熟妇人妻AV在线绿巨人| 中文字幕av无码不卡免费| 亚洲国产精品日韩av专区| 成色7777精品在线| 日本欧美一二三区色视频| 六月婷婷激情综合| 人妻无码中文字幕第一区| 亚洲第一黄片大全| 日韩精品无码免费专网站| 91香蕉视频下载网站| 成人福利在线视频免费观看| 亚洲欧美另类日本| 喷潮白浆直流在线播放| 欧美一级在线| 玩两个丰满老熟女久久网| 无码专区国产精品第一页| 国产黄色视频综合| 国产亚洲美日韩AV中文字幕无码成人| 91福利在线看| 青青热久免费精品视频6| 国产天天射| 精品综合久久久久久97| 日韩高清成人| 亚洲乱伦视频| 国产欧美精品专区一区二区| 欧美日本二区| 国产亚洲精品资源在线26u| 日韩欧美中文在线| 中文国产成人精品久久| 国产欧美又粗又猛又爽老| 伊人色婷婷| 日本精品一在线观看视频| 国产经典在线观看一区| 国产日韩丝袜一二三区| 欧美区国产区| 日韩天堂在线观看| 国产成人乱码一区二区三区在线| 国产噜噜噜| 国产成人精品高清不卡在线 | 午夜人性色福利无码视频在线观看| 国产福利一区在线| 波多野结衣视频网站| 久久毛片基地| 亚洲成a人片7777| 欧美翘臀一区二区三区| 国产精品成人免费视频99| 日韩在线永久免费播放| 亚洲中文字幕在线精品一区| 欧美成人精品一级在线观看| 亚洲国产天堂久久九九九| 欧美国产在线看| 久热中文字幕在线观看| 色综合五月婷婷| 欧美视频在线不卡| 免费无码AV片在线观看中文| 91青青视频| 国产成人亚洲日韩欧美电影| 99伊人精品| 91精品啪在线观看国产| 亚洲欧美一级一级a| 99精品伊人久久久大香线蕉| 欧美日在线观看| 午夜性刺激在线观看免费| 日本黄色不卡视频| 91福利一区二区三区| 精品少妇人妻无码久久| 亚洲第一天堂无码专区| 久草国产在线观看| 国产幂在线无码精品| 久久频这里精品99香蕉久网址|