基於tcp協議的socket通訊,實現多個使用者登入。
建立乙個伺服器類server,乙個客戶端類client,乙個繼承於多執行緒類的serverthread,從而實現多個客戶端向單個伺服器的連線。
server類
public class server
} catch (ioexception e)
}}
client類
public class client
//關閉資源
br.close();
isr.close();
is.close();
pw.close();
os.close();
socket.close();
} catch (unknownhostexception e) catch (ioexception e)
}}
serverthread類
/*
* 伺服器端執行緒處理類
*/public class serverthread extends thread
// 執行緒執行的操作,響應客戶端的請求
public void run()
socket.shutdowninput();// 關閉輸入流
// 獲取輸出流,響應客戶端的請求
outputstream os = socket.getoutputstream();
printwriter pw = new printwriter(os);
pw.write("伺服器響應:歡迎您!");
pw.flush();// 呼叫該方法將緩衝輸出
pw.close();
os.close();
br.close();
isr.close();
is.close();
socket.close();
} catch (ioexception e)
}}
首先要執行server類,再執行client類。
再將client類裡改為:
pw.write("使用者名稱:gzh;密碼:123");
最後client類控制台如下所示:
server類控制台如下所示:
***伺服器即將啟動,等待客戶端的連線***
客戶端的數量:1
當前客戶端的ip:/127.0.0.1
我是伺服器,客戶端說:使用者名稱:tom;密碼:123
客戶端的數量:2
當前客戶端的ip:/127.0.0.1
我是伺服器,客戶端說:使用者名稱:gzh;密碼:123
多執行緒 Thread類 建立執行緒
package thread 建立執行緒方式一 繼承 thread 類 重寫方法 run 呼叫 start 開啟執行緒 public class onethread extends thread public static void main string args 可以看出,main 方法和 ru...
Thread執行緒類及多執行緒
1.程序 執行緒 併發 並行是什麼?1 程序 作業系統中可以執行多個任務 程式 這些執行的任務 程式 被稱為程序。程式的執行產生程序 記憶體空間 程式執行的堆疊 可以這樣說,程序是作為作業系統分配資源的基本單位。3 併發 執行緒是併發執行的。作業系統將時間化分為若干個片段 時間片 盡可能的均勻分配給...
多執行緒 Thread類詳解
thread類是j a中實現多執行緒程式設計的基礎類。本節就來介紹下thread類的常用api和常見用法。thread.activecount 這個方法用於返回當前執行緒的執行緒組中活動執行緒的數量,返回的值只是乙個估計值,因為當此方法遍歷內部資料結構時,執行緒數可能會動態更改。thread.che...