java socket 通訊第二講 多對一

2021-06-29 13:31:45 字數 1569 閱讀 5479

1.多執行緒啟動服務接受多個客戶端

public class server 

}system.out.println("from client: " + sb);

//讀完後寫一句

writer writer = new outputstreamwriter(socket.getoutputstream());

writer.write("hello client.");

writer.flush();

writer.close();

reader.close();

socket.close();}}

}

public class client 

}system.out.println("from server: " + sb);

writer.close();

br.close();

client.close();

}}

2.設定超時時間

public class client 

}} catch (sockettimeoutexception e)

system.out.println("from server: " + sb);

writer.close();

br.close();

client.close();

}} 3.接受資料亂碼public class server

}/**

* 用來處理socket請求的

*/static class task implements runnable

public void run() catch (exception e)

}/**

* 跟客戶端socket進行通訊

* @throws exception

*/private void handlesocket() throws exception

}system.out.println("客戶端: " + sb);

//讀完後寫一句

writer writer = new outputstreamwriter(socket.getoutputstream(), "utf-8");

writer.write("你好,客戶端。");

writer.write("eof\n");

writer.flush();

writer.close();

br.close();

socket.close();}}

}

public class client 

}} catch (sockettimeoutexception e)

system.out.println("服務端: " + sb);

writer.close();

br.close();

client.close();

}}

Java Socket報文通訊報文的封裝(二)

昨天我們談了怎麼建立socket通訊的服務端和客戶端,今天我們就來談一談怎麼封裝報文。什麼是報文這裡我就不在闡述了,不清楚的朋友可以自己去查資料。我們今天要談的報文主要友以下幾個部分組成 3位同步校驗位 8位報文長度 報文頭 報文體 32位md5校驗位 基本格式如下 0x110x120x130000...

java socket通訊學習筆記

正處於網路環境下的兩個程式,它們之間通過乙個互動的連線來實現資料通訊。每乙個連線的通訊端叫做乙個socket。乙個完整的socket通訊程式應該包含以下幾個步驟 1 建立socket 2 開啟連線到socket的輸入輸出流 3 按照一定的協議對socket進行讀寫操作 4 關閉socket。sock...

第二講案例

一 使用登入cookie方法 使用第一講案例中查詢響應檔案的方式找到該頁面的doc檔案,獲取請求頭中的cookie資訊 將該資訊以鍵值對的形式儲存到請求頭引數中即可,請使用自己的cookie值 headers 爬取完整程式如下,可參考 import requests def local 1 準備引數...