本文目錄一覽:
java中的socket編程是作什麼的
Socket,又稱為套接字,Socket是計算機網絡通信的基本的技術之一。如今大多數基於網絡的軟件,如瀏覽器,即時通訊工具甚至是P2P下載都是基於Socket實現的。本文會介紹一下基於TCP/IP的Socket編程,並且如何寫一個客戶端/服務器程序。
方法/步驟
Java中的socket編程 下面的部分將通過一些示例講解一下如何使用socket編寫客戶端和服務器端的程序。 注意:在接下來的示例中,我將使用基於TCP/IP協議的socket編程,因為這個協議遠遠比UDP/IP使用的要廣泛。並且所有的socket相關的類都位於java.net包下,所以在我們進行socket編程時需要引入這個包。
寫入數據 接下來就是寫入請求數據,我們從客戶端的socket對象中得到OutputStream對象,然後寫入數據後。很類似文件IO的處理代碼。
打開服務器端的socket
讀取數據 通過上面得到的socket對象獲取InputStream對象,然後安裝文件IO一樣讀取數據即可。這裡我們將內容打印出來。
使用socket實現一個回聲服務器,就是服務器會將客戶端發送過來的數據傳回給客戶端。
Java的Socket編程?
要通信首先要建立socket鏈接。
1 ab客戶端與服務端建立socket鏈接
2 a客戶端發送消息到服務端
3 服務端收到消息後,發送到指定的b客戶端
4 b客戶端處理來自服務端的消息
java Socket通信原理
具體如下:
首先socket 通信是基於TCP/IP 網絡層上的一種傳送方式,我們通常把TCP和UDP稱為傳輸層。其中UDP是一種面向無連接的傳輸層協議。UDP不關心對端是否真正收到了傳送過去的數據。
如果需要檢查對端是否收到分組數據包,或者對端是否連接到網絡,則需要在應用程序中實現。UDP常用在分組數據較少或多播、廣播通信以及視頻通信等多媒體領域。
在這裡我們不進行詳細討論,這裡主要講解的是基於TCP/IP協議下的socket通信。
socket是基於應用服務與TCP/IP通信之間的一個抽象,他將TCP/IP協議裡面複雜的通信邏輯進行分裝。
服務端初始化ServerSocket,然後對指定的端口進行綁定,接着對端口及進行監聽,通過調用accept方法阻塞。
此時,如果客戶端有一個socket連接到服務端,那麼服務端通過監聽和accept方法可以與客戶端進行連接。
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。
Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行複雜的編程。
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/247975.html