記一下筆記
socket(string host, int post):建立乙個套接字,用來連線給點的主機和埠
socket():建立乙個還未被連線的套接字
void setsotimeout(int timeoutinmilliseconds):設定套接字上讀請求的阻塞時間
boolean isconnected():如果套接字已經連線,則返回true
boolean isclosed():如果套接字已經關閉,則返回true
因為socket(string host, int post)會一直無期限阻塞下去,直到建立了到達主機的初始連線為止。所以可以通過先構建無連線的套接字,然後再使用乙個超時來進行連線的方式解決這個問題:
socket s = new socket();
s.connect(new inetsocketaddress(host,port),timeout);
static inetaddress getbyname(string host)
static inetaddress getallbyname(string host):為給定的主機名建立乙個inetaddress物件,或者乙個包含了該主機名所對應的所有網際網路位址的陣列
static inetaddress getlocalhost():為本地主機建立乙個inetaddress物件
string gethostname():返回主機名
serversocket(int port):建立乙個監聽埠的伺服器套接字
socket accept():等待連線。該方法阻塞當前執行緒知道建立連線為止。該方法返回乙個socket物件,程式可以通過這個物件與連線中的客戶端進行通訊
void close():關閉伺服器套接字
如果有多個客戶端同時連線到伺服器上,常常有以下**:
while(true)
其中threadedechohandler類實現了runnable介面,而且在它的run方法裡包含了很多與客戶端通訊的**。
半關閉:套接字連線的一端可以終止其輸出,同時仍舊可以接受來自另一端的資料。可以通過關閉乙個套接字的輸出流來表示發生給伺服器的請求資料已經結束,但必須保持輸入流處於開啟狀態。
void shutdownoutput():將輸出流設定為「流結束」
void shutdowninput():將輸入流設為「流結束」
boolean isoutputshutdown():如果輸出已經被關閉,則返回true
boolean isinputshutdown():如果輸入已經被關閉,則返回true
static inputstream newinputstream(readablebytechannel channel):建立乙個輸入流,用以從指定的通道讀取資料
static outputstream newoutputstream(writablebychannel channel):建立乙個輸出流,用以向指定的通道寫入資料
用通道套接字類socketchannel可以建立乙個可中斷的套接字,當執行緒正在執行開啟、讀取或寫入操作時,如果執行緒傳送中斷,那麼這些操作將不會陷入阻塞,而是丟擲異常。
JavaSE 網路程式設計 概述
將不同區域的計算機連線到一起 種類 區域網 都會網路 網際網路 區分計算機上的軟體的 房子的門窗 2個位元組 0 65535 共65536個 1 在同一協議下,埠號不能重複。不同協議下,可以重複。2 1024以下的埠不要使用 例 80 http,21 ftp url 同一資源定位符 uri 同一資源...
JavaSE 程式設計題目 3
1.定義乙個father和child類,並進行測試。要求如下 1 father類為外部類,類中定義乙個私有的string型別的屬性name,name的值為 zhangjun 2 child類為father類的內部類,其中定義乙個introfather 方法,方法中呼叫father類的name屬性。3...
JavaSE 程式設計題目 5
1.程式設計題 要求 1 person類有name,age,salary屬性,要求實現至少兩個構造方法,並且屬性私有,提供對應的getter setter。2 覆寫tostring方法,要求在system.out.println 函式中傳遞person物件能列印出三個屬性值而不是物件位址。3 覆寫e...