對于Java Socket編程而言,有兩個概念,一個是ServerSocket,一個是Socket。服務(wù)端和客戶端之間通過Socket建立連接,之后它們就可以進行通信了。首先ServerSocket將在服務(wù)端監(jiān)聽某個端口,當(dāng)發(fā)現(xiàn)客戶端有Socket來試圖連接它時,它會accept該Socket的連接請求,同時在服務(wù)端建立一個對應(yīng)的Socket與之進行通信。這樣就有兩個Socket了,客戶端和服務(wù)端各一個。
成都創(chuàng)新互聯(lián)公司-云計算及IDC服務(wù)提供商,涵蓋公有云、IDC機房租用、服務(wù)器托管雅安、等保安全、私有云建設(shè)等企業(yè)級互聯(lián)網(wǎng)基礎(chǔ)服務(wù),歡迎聯(lián)系:18980820575對于Socket之間的通信其實很簡單,服務(wù)端往Socket的輸出流里面寫東西,客戶端就可以通過Socket的輸入流讀取對應(yīng)的內(nèi)容。Socket與Socket之間是雙向連通的,所以客戶端也可以往對應(yīng)的Socket輸出流里面寫東西,然后服務(wù)端對應(yīng)的Socket的輸入流就可以讀出對應(yīng)的內(nèi)容。下面來看一些服務(wù)端與客戶端通信的例子:
1、客戶端寫服務(wù)端讀
服務(wù)端代碼
Java代碼
public class Server { public static void main(String args[]) throws IOException { //為了簡單起見,所有的異常信息都往外拋 int port = 8899; //定義一個ServerSocket監(jiān)聽在端口8899上 ServerSocket server = new ServerSocket(port); //server嘗試接收其他Socket的連接請求,server的accept方法是阻塞式的 Socket socket = server.accept(); //跟客戶端建立好連接之后,我們就可以獲取socket的InputStream,并從中讀取客戶端發(fā)過來的信息了。 Reader reader = new InputStreamReader(socket.getInputStream()); char chars[] = new char[64]; int len; StringBuilder sb = new StringBuilder(); while ((len=reader.read(chars)) != -1) { sb.append(new String(chars, 0, len)); } System.out.println("from client: " + sb); reader.close(); socket.close(); server.close(); } }
本文題目:JavaSocket編程簡介_動力節(jié)點Java學(xué)院整理-創(chuàng)新互聯(lián)
瀏覽路徑:http://jinyejixie.com/article44/gipee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、ChatGPT、關(guān)鍵詞優(yōu)化、營銷型網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容