tcp: 面向連線的傳輸協議
全雙工: a---b 可以互相傳遞資料
點對點: 傳輸的資料不可能有多個接收方
可靠的資料傳輸: 傳送的資料是abc,接受到的一定是abc
tcp 屬於:傳輸層的協議
套接字:
應用程式通過套接字類獲取到 輸入和輸出的資料.
tcpclient:則用於接收和傳送流資料
tcplistener:用於接受連線請求
總是服務端使用tcplistener類
網路連天程式的三種模式
1. 點對點,每一台計算機都是伺服器
2. a在伺服器中知道了b, 就可以直接a -- b 的連線對話
3. a -- 伺服器 -- b
漫長的程式設計操作
ipaddress類
ipaddress ip = ipaddress.parse("192.168.0.1");
ipendpoint類(表示ip和埠號)
ipendpoint iep = new ipendpoint(ip, 5666);
dns類
1. 解析制定的網域名稱
gethostname() 獲取本機名
gethostentry() 根據主機名,獲取到ip物件
socket類: 封裝了 連線,監聽,接受的方法.
tcpclient類(客戶端)
tcpclient.connect(connip, connport); //連線指定網路端
networkstream = tcpclient.getstream(); //獲取流
tcplistener類(伺服器)
tcplistener.start(); //開始監聽
client = tcplistener.accepttcpclient(); //中斷程序
networkstream網路流
//建立乙個非同步委託
asynccallback callback = new asynccallback(readmessage);
//當buffer讀取完畢之後,就呼叫callback委託中的方法進行處理
networkstream.beginread(buffer, 0, buffer.length, callback, null);
upd程式設計簡介:
是一種"面向資料報"的"無連線協議":,提供的是"不一定可靠"的傳輸服務
udp 與 tcp的區別
1. udp可靠性不如tcp
2. udp不能保證有序傳輸
udp優勢
1. udp速度比tcp快
2. udp可以一對多傳輸
3. udp有訊息邊界(有格式的)
udpclient類
幾種例項化方式:
1. public udpclient();
2. public udpclient(int port); 只需要傳送資料報,(匿名傳送) .對方無法判斷傳送方的埠
3. public udpclient(ipendpoint localep); 只接收資料報
4. public udpclient(string hostname, int port); 接收和傳送,使用4,指定接收遠端主機ip 和 port. 自動分配本機ip和 port
1. 只需要傳送資料報,(匿名傳送) .對方無法判斷傳送方的埠
使用2進行例項化
2. 只接收資料報
使用33. 接收和傳送
使用4,指定接收遠端主機ip 和 port. 自動分配本機ip和 port
傳送資訊
public int send(byte butter,int length,ipendpoint ipe);
接收資訊
public byte receive(ref ipendpoint remoteep)
remoteep 傳送資訊來的ip和埠號
//建立ipendpoint
ipendpoint remoteipendpoint new ipendpoint(ipaddress.any,0);
ipaddress.any 任意ip位址
0 任意埠號
udp廣播和組播:實現一對多的傳輸方式
子網掩碼 是ip 參照物.分網段用的!
比如 192.168.0.1 和192.168.0.2
1.子網掩碼為 255.255.255.0
那麼192.168.0.x 在同乙個網段,能互相訪問
2.希望掩碼為 255.255.0.0
那麼 192.168.x.x在同乙個網段,能互相訪問
ip位址分為兩部分:
網路標誌部分
主機標誌部分
C 網路程式設計
首先我們解釋一下在網路程式設計時候,經常遇到的幾個概念 同步 synchronous 非同步 asynchronous 阻塞 block 和非阻塞 unblock 所謂同步方式,就是傳送方傳送資料報以後,不等接受方響應,就接著傳送下乙個資料報。非同步方式就是當傳送方傳送乙個資料報以後,一直等到接受方...
C 網路程式設計
1 ip網路中的每台主機都有乙個ip位址 它是邏輯位址 網際網路上的ip位址具有全球唯一性 4個位元組,192.168.0.16 2 osi將網路分為 tcp ip模型 應用層 應用層 表示層會話層 傳輸層 傳輸層 網路層 網路層 資料鏈路層 網路介面 物理層相同層次之間不可以直接通訊,是虛擬通訊。...
c 網路程式設計
microsoft.framework為應用程式訪問inter 提供了分層的 可擴充套件的以及受管轄的網路服務,其名字空間system.和system.sockets包含豐富的類可以開發多種網路應用程式。類採用的分層結構允許應用程式在不同的控制級別上訪問網路,開發人員可以根據需要選擇針對不同的級別編...