日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
JavaSocket對(duì)象原理的詳細(xì)介紹

Java Socket對(duì)象需要我們大家詳細(xì)的學(xué)習(xí),相關(guān)的問(wèn)題一直在困擾著我們。下面我們就看看如何才能更好的使用Java Socket對(duì)象。那么首先我們就從原理來(lái)看一看。

創(chuàng)新互聯(lián)公司是一家以網(wǎng)絡(luò)技術(shù)公司,為中小企業(yè)提供網(wǎng)站維護(hù)、成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站備案、服務(wù)器租用、域名申請(qǐng)、軟件開(kāi)發(fā)、小程序開(kāi)發(fā)等企業(yè)互聯(lián)網(wǎng)相關(guān)業(yè)務(wù),是一家有著豐富的互聯(lián)網(wǎng)運(yùn)營(yíng)推廣經(jīng)驗(yàn)的科技公司,有著多年的網(wǎng)站建站經(jīng)驗(yàn),致力于幫助中小企業(yè)在互聯(lián)網(wǎng)讓打出自已的品牌和口碑,讓企業(yè)在互聯(lián)網(wǎng)上打開(kāi)一個(gè)面向全國(guó)乃至全球的業(yè)務(wù)窗口:建站聯(lián)系熱線(xiàn):028-86922220

這個(gè)設(shè)計(jì)原理非常類(lèi)似于平時(shí)打電話(huà)進(jìn)行通訊:#t#

(1)首先通訊雙方各有一臺(tái)電話(huà)機(jī),在上述模型中就是Socket;

(2)通訊一方拔打電話(huà),試圖建立連接,在上述模型中就是客戶(hù)端建立Java Socket對(duì)象;另一方隨時(shí)監(jiān)聽(tīng)有沒(méi)有呼叫,當(dāng)有呼叫到來(lái)時(shí),摘機(jī),在上述模型中就是在服務(wù)器端建立一個(gè)Java Socket對(duì)象,然后用其accept()方法監(jiān)聽(tīng)客戶(hù)端的連接請(qǐng)求,當(dāng)有連接請(qǐng)求時(shí)accept方法返回客戶(hù)端的Socket,于是雙方就建立起連接;

(3)雙方通話(huà),過(guò)程中雙方都可以說(shuō)和聽(tīng),在上述模型中,每個(gè)Socket可以利用輸入輸出流進(jìn)行讀和寫(xiě)兩種操作;在電話(huà)中一方聽(tīng)到的是對(duì)方說(shuō)出的,反之亦然;上述模型中,一方讀出的也是對(duì)方寫(xiě)入的,而寫(xiě)入的則是對(duì)方要讀出的

(4)掛斷。

建立Socket通信模型

首先,在服務(wù)器端建立一個(gè)ServerSocket對(duì)象,用于監(jiān)聽(tīng)客戶(hù)端的連接請(qǐng)求:

 
 
 
  1. ServerSocket server;try{server=new ServerSocket(4321);}  
  2. catch(Exception e){System.out.println("Error:"+e);} 

在服務(wù)器端建立ServerSocket對(duì)象時(shí)必須進(jìn)行異常處理,以便程序出錯(cuò)時(shí)及時(shí)作出響應(yīng)。生成ServerSocket對(duì)象時(shí)必須選擇一個(gè)端口注冊(cè),以和其它服務(wù)器程序分開(kāi),使互不干擾。應(yīng)使用1024以上的端口進(jìn)行通信,以免和常規(guī)通信發(fā)生端口沖突。

其次,在服務(wù)器端調(diào)用ServerSocket的accept()方法進(jìn)行監(jiān)聽(tīng),等待其它程序的連接請(qǐng)求。在連接請(qǐng)求收到之前一直阻塞調(diào)用線(xiàn)程,當(dāng)有一個(gè)連接請(qǐng)求時(shí),返回請(qǐng)求連接的Java Socket對(duì)象:

 
 
 
  1. Socket socket;  
  2. try{socket=server.a(chǎn)ccept();}  
  3. catch(Exception e){System.out.println("Error:"+e);} 

當(dāng)接到一個(gè)連接請(qǐng)求時(shí),accept方法返回客戶(hù)端的socket對(duì)象,于是連接成功。正常情況下,通過(guò)交換,由另外的線(xiàn)程去處理該連接,而server釋放出來(lái)繼續(xù)監(jiān)聽(tīng)下一個(gè)連接請(qǐng)求。

最后,在客戶(hù)端建立一個(gè)Java Socket對(duì)象,請(qǐng)求建立連接:

 
 
 
  1. Socket socket;  
  2. try{socket=new Socket("Server Nane",4321);}  
  3. catch(Exception e){System.out.println("Error:"+e);} 

在客戶(hù)端建立Java Socket對(duì)象時(shí)也必須時(shí)行異常處理,主機(jī)名和端口號(hào)與連接的服務(wù)器名和提供該服務(wù)的服務(wù)程序的監(jiān)聽(tīng)端口必須一致。


本文標(biāo)題:JavaSocket對(duì)象原理的詳細(xì)介紹
文章位置:http://www.5511xx.com/article/codppcg.html