古詩詞大全網 - 口號大全 - java編程中如何實現Socket通信?

java編程中如何實現Socket通信?

java編程中套接字之間的通信過程如下:

服務器在Socket的輸出流中寫入壹些東西,客戶端可以通過Socket的輸入流讀取相應的內容。Socket和Socket是雙向連接的,所以客戶端也可以寫壹些東西到相應的Socket輸出流中,然後服務器相應的Socket輸入流就可以讀取相應的內容。讓我們看看服務器和客戶端之間的壹些通信示例:

公共?班級?服務器?{

公共?靜電?作廢?main(字符串?args[])?摔投?IOException?{

//為簡單起見,拋出所有異常信息。

int?港口?=?8899;

//定義壹個ServerSocket來偵聽端口8899。

ServerSocket?服務器?=?新的?ServerSocket(端口);

//服務器嘗試從其他套接字接收連接請求,服務器的accept方法正在阻塞。

插座?插座?=?server . accept();

//與客戶端建立連接後,我們就可以獲取socket的InputStream,從中讀取客戶端發送的信息。

讀者?讀者?=?新的?InputStreamReader(socket . getinputstream());

夏爾?chars[]?=?新的?char[64];

int?len

StringBuilder?sb?=?新的?StringBuilder();

什麽時候?((len=reader.read(chars))?!=?-1)?{

sb追加(新?字符串(字符,0,?len));

}

System.out.println("from?客戶端:?”?+?sb);

reader . close();

socket . close();

server . close();

}

}客戶代碼

Java代碼公開?班級?客戶?{

公共?靜電?作廢?main(字符串?args[])?摔投?例外?{

//為了簡單起見,直接拋出所有異常。

字符串?主持人?=?"127.0.0.1";//要連接的服務器的IP地址。

int?港口?=?8899;?//與要連接的服務器對應的監聽端口

//與服務器建立連接。

插座?客戶?=?新的?套接字(主機,港口);

//連接建立後,可以向服務器寫入數據。

作家?作家?=?新的?output streamwriter(client . get output stream());

writer.write("餵?服務器。);

writer . flush();//寫完後記得沖掉。

writer . close();

client . close();

}

}