定時器,套接字,資料報

2021-10-19 02:42:19 字數 3030 閱讀 7062

timer 定時器

方法:

cancel() ----------------終止此計時器,如果再次排程已經終止的定時器會報錯 

purge()------------------刪除所有取消的任務

timertask ---------------定時器任務 是抽象類 需要重寫run方法

schedule(timertask task, long delay,long period)----------在指定的時間安排指定的任務執行

schedule (timertask task, date firsttime, long period)- 從指定 的時間開始 ,對指定的任務執行重複的 固定延遲執行 。

網路程式設計三要素

ip

應用程式在裝置的唯一標識

埠號:取值範圍 0~65535 自己用一般用1023以上埠

乙個埠只能被一應用程式使用

協議

inetaddress

方法

static inetaddress    getlocalhost()          返回本地主機的位址

static inetaddress getbyname(string host) 確定主機名稱的ip位址。

string gethostaddress() 返回文字顯示中的ip位址字串。

inetaddress address = inetaddress.

getbyname

("laptop-i9laae");

string ip = address.

gethostaddress()

; string hostname = address.

gethostname()

;

uuid

uuid.randomuuid()// 隨機生成唯一識別符號
兩個協議

tcp: 面向連線的協議

udp:無連線的協議

優點:速度快

缺點:不安全,不能確保資料的完整性,有大小限制,每個資料報在64kb之內

serversocket 伺服器端

構造方法:

serversocket(int port) ------------建立繫結指定埠
方法:

accept()     如果沒有收到客戶端請求就阻塞,一旦有了客戶端請求,方法返回 socket物件來和客戶端建立連線

close() 關閉此套接字

getinetaddress() 返回此伺服器套接字的本地位址。

getinetaddress().gethostaddress() 返回ip位址字串

getinetaddress().gethostname() 返回主機名

socket 客戶端

構造方法:

socket(inetaddress address, int port)  ----------連線到指定ip位址的指定埠號
方法:

close() ---------------關閉此套接字。

getinputstream() ------返回此套接字的輸入流。

getoutputstream() -----返回此套接字的輸出流。

datagramsocket

構造方法

datagramsocket    ds=new datagramsocket (8080)     在udp埠8888上接收廣播。
方法

receive(datagrampacket p)    接收資料報

send(datagrampacket p) 傳送資料報

datagrampacket

構造方法

datagrampacket(byte buf, int length)          構造乙個 datagrampacket用於接收長度的資料報 length   

datagrampacket(byte buf, int length, inetaddress address, int port)

構造乙個 datagrampacket用於接收長度的資料報 length ,指定目的地的位址和埠

byte

b=newbyte

[1024];

datagrampacket dp=

newdatagrampacket

(b,b.length)

;

方法

getaddress()  返回該資料報傳送或接收資料報的計算機的ip位址

getdata() 返回接收到的資料

getlength() 返回資料的長度

setdata(byte buf, int offset, int length) 設定此資料報的資料緩衝區。

粘包

傳送方若連續幾次傳送的資料都很少,通常tcp會根據優化演算法把這些資料合成一包後一次傳送出去,這樣接收方就收到了粘包資料。

接收方引起的粘包是由於接收方使用者程序不及時接收資料,從而導致粘包現象。

資料報套接字

又稱udp套接字,它以資料報的方式傳輸資料。特點 面向無連線的 不可靠的 資料報套接字 注意 udp沒有3次握手,4次揮手。服務端流程 客戶端流程 socket af inet,soct dgram 建立udp套接字 socket af inet,soct dgram 建立udp套接字 bind 繫...

套接字 資料查閱

3 套接字 socket 乙個完整的網路應用程式包括客戶端和伺服器兩個部分。網間通訊程序需要由兩個程序組成,並且只能用同一種協議。也就是說,不能在通訊的一端使用tcp協議,而另一端則用udp協議。乙個完整的網路通訊需要乙個五元組來標識 協議 本地位址 本地埠號 遠端位址 遠端埠號。應用層通過傳輸層進...

套接字 資料查閱

3 套接字 socket 乙個完整的網路應用程式包括客戶端和伺服器兩個部分。網間通訊程序需要由兩個程序組成,並且只能用同一種協議。也就是說,不能在通訊的一端使用tcp協議,而另一端則用udp協議。乙個完整的網路通訊需要乙個五元組來標識 協議 本地位址 本地埠號 遠端位址 遠端埠號。應用層通過傳輸層進...