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