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 準備引數...