1.計算機網路:多台計算連線起來,資源共享和資訊傳遞。
網路程式設計:就是用來實現網路互聯的不同計算機上執行的程式間可以進行資料互動。
2.網路三要素
①ip位址(inetaddress,網路號段+主機號段)
②埠號
③協議(udp/tcp)
3.socket
socket:網路上具有唯一的標識,ip+埠構成的識別符號套位元組。
socket的原理機制:
通訊的兩端都有socket。
網路的通訊其實就是socket間的通訊。
4.udp/tcp
①udp:使用者資料協議,將資料分裝成資料報,每個包大小限制64k,無連線,不可靠協議,傳輸速度快
②tcp:傳輸控制協議,建立連線,形成傳輸資料的通道,在連線中進行大量資料傳輸,通過三次握手建立連線,可靠性高,效率低
③udp傳輸
傳送端:a.建立傳送端的socket物件。
b.建立資料,並進行打包。
c.呼叫socket方法進行傳送。
d.關閉資源。
接收端:
a.建立接收端的socket物件。
b.建立資料報,用於接收資料。
c.呼叫socket的接收方法,將資料儲存在包中。
d.從資料報中解析資料,併發送到控制台。
e.關閉資源。
④tcp傳輸
傳送端: a.建立客戶端的socket物件(連線伺服器端)。
b.獲取輸出流,給管道寫資料。
c.關閉資源。
接收端:a.建立伺服器端的serversocket物件(指定埠)
b.監聽傳送端。
c.獲取客戶端的socket物件,從而獲取輸入流。
d.關閉資源
⑤如何提高udp的效能
應用層實現超時重傳,客戶端傳送乙個包,伺服器返回乙個包表示收到,如果客戶端超過一定的時間沒有收到該包,就需要重傳。
5.socket程式設計
6.udp字串資訊的傳送與接收
udp sent
public void udpsend()
udp receive
public void udpreceive()
以上**都需要進行異常處理。
7.udp的輸入型資料的收發
udp sent
public void udpsend2() }
udp receive
public void udpreceive2() }
8.tcp的收發
tcp client(客戶端)
public void clientdemo()
tcp(伺服器端)
public void serverdemo()
9.用多執行緒的方式實現聊天室(udp)
public class receivedemo implements runnable
public void run() }
}public class senddemo implements runnable
public void run()
ds.close(); }
}測試**:
public class charroom }
Go基礎知識 TCP UDP
1.網路程式設計 物理層 資料鏈路層 網路層 傳輸層 應用層 2.socket是應用層與tcp ip協議族通訊的中間軟體抽象層 3.tcp程式設計 net包裡面,並且粘包的問題需要注意 服務端處理流程 1.監聽埠2.接收客戶端請求建立鏈結 3.建立goroutine處理鏈結 客戶端處理流程 1.建立...
相關基礎知識
宣告 在作者學習資料結構的過程中發表的博文,一般是自己學習後知識點的總結,同時有些是摘抄於教材的,學習教材為 資料結構 c語言版 秦峰主編。特此宣告,後續博文不在重複說明。一 基本概念 資料 data 是對客觀事物的符號表示,它能夠被計算機識別 儲存 和加工處理。資料元素 data element ...
shell 相關的基礎知識
var value var value var var mv usr bin file 可以擴充套件為1到50 a b c z將 usr bin下的file檔案生命名為file.bak,通過 可以不用多敲一遍路徑 如果存在變數var則給出字串長度,否則輸出0 0 or shell env uid 使...