自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java socket通信基本原理介紹

開發(fā) 后端
Java socket通信在不斷的進(jìn)行相關(guān)代碼的開發(fā),下面我們就看看如何才能更好的使用有關(guān)技術(shù)為我們的編程工作帶來一定的幫助。

Java socket通信在Java語言中是一個使用很廣泛的工具,下面我們就來仔細(xì)的學(xué)習(xí)下有關(guān)的方法。這對大家在以后的使用中有所幫助,只有不斷的學(xué)習(xí)才能更好的使用。

所謂Java socket通信通常也稱作"套接字",用于描述IP地址和端口,是一個通信鏈的句柄。應(yīng)用程序通常通過"套接字"向網(wǎng)絡(luò)發(fā)出請求或者應(yīng)答網(wǎng)絡(luò)請求。

以J2SDK-1.3為例,Socket和ServerSocket類庫位于java.net包中。ServerSocket用于服務(wù)器端, Socket是建立網(wǎng)絡(luò)連接時使用的。在連接成功時,應(yīng)用程序兩端都會產(chǎn)生一個Socket實例,操作這個實例,完成所需的會話。對于一個網(wǎng)絡(luò)連接來說, 套接字是平等的,并沒有差別,不因為在服務(wù)器端或在客戶端而產(chǎn)生不同級別。不管是Socket還是ServerSocket它們的工作都是通過 SocketImpl類及其子類完成的。#t#

重要的Socket API:

java.net.Socket繼承于java.lang.Object,有八個構(gòu)造器,其方法并不多,下面介紹使用最頻繁的三個方法,其它方法大家可以見JDK-1.3文檔。Accept方法用于產(chǎn)生"阻塞",直到接受到一個連接,并且返回一個客戶端的Socket對象實例。"阻塞"是一個術(shù)語,它使程序運行暫時"停留"在這個地方,直到一個會話產(chǎn)生,然后程序繼續(xù);通常"阻塞"是由循環(huán)產(chǎn)生的。

getInputStream方法獲得網(wǎng)絡(luò)連接輸入,同時返回一個IutputStream對象實例。

getOutputStream方法連接的另一端將得到輸入,同時返回一個OutputStream對象實例。

注意:其中g(shù)etInputStream和getOutputStream方法均會產(chǎn)生一個IOException,它必須被捕獲,因為它們返回的流對象,通常都會被另一個流對象使用。

如何開發(fā)一個Server-Client模型的程序

Java socket通信開發(fā)原理:

服務(wù)器,使用ServerSocket監(jiān)聽指定的端口,端口可以隨意指定(由于1024以下的端口通常屬于保留端口,在一些操作系統(tǒng)中不可以隨意使用,所以建議使用大于1024的端口),等待客戶連接請求,客戶連接后,會話產(chǎn)生;在完成會話后,關(guān)閉連接。

客戶端,使用Java socket通信對網(wǎng)絡(luò)上某一個服務(wù)器的某一個端口發(fā)出連接請求,一旦連接成功,打開會話;會話完成后,關(guān)閉Socket??蛻舳瞬恍枰付ù蜷_的端口,通常臨時的、動態(tài)的分配一個1024以上的端口。
 

責(zé)任編輯:張浩 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-07 14:10:21

Cocoa 內(nèi)省 hash

2012-01-12 14:37:34

jQuery

2009-02-24 09:43:00

IP電話原理

2011-11-29 12:17:00

2011-07-07 13:30:32

Cocoa Core

2016-08-18 00:04:09

網(wǎng)絡(luò)爬蟲抓取系統(tǒng)服務(wù)器

2010-08-20 13:29:33

OFDM

2013-04-07 14:09:55

Android應(yīng)用基本

2019-11-28 10:45:28

ZooKeeper源碼分布式

2020-03-21 14:57:14

手機定位智能手機APP

2016-08-17 23:53:29

網(wǎng)絡(luò)爬蟲抓取系統(tǒng)

2021-02-08 21:40:04

SockmapBPF存儲

2020-12-29 16:55:44

ZooKeeper運維數(shù)據(jù)結(jié)構(gòu)

2009-06-11 09:56:09

MySQL Repli原理

2010-03-17 13:35:02

2011-07-07 14:46:10

Cocoa Xcode

2019-04-30 08:15:31

2010-06-18 17:28:37

Linux Anacr

2010-01-07 09:53:09

Winform多線程編

2012-09-28 10:12:55

點贊
收藏

51CTO技術(shù)棧公眾號