網絡遊戲實戰總結
1.Tcp,udp傳輸層,ip協議網絡層
2.應,表,會,傳,網,數,物
3.應,表,會 小統稱應用層
4.應用層把字符串轉換成二進制
5.傳輸層 數據流傳送,可靠性校驗,流量控制。 tcp有頭信息
6.網絡層地址之間傳送 包的拆分, ip首部
7.數據鏈路層校驗 對錯。比特流組合成幀
8.物理層電纜、
9.IP端口
10.
IPEndPoint ip = new IPEndPoint(IPAddress.Parse("192.168.1.1"), 3366);
11.tcp是面向連接,可靠,基於字節流,無連接,不可靠
12.tcp鏈接 三次握手, 數據傳送完畢,便要斷開鏈接, 四次握手確保雙端都斷開鏈接。
13.套接字 tcp/ip協議基本操作單元,連接之前需要創建套接字,和bind, 客戶端由系統分配,可以省去bind;
14.服務器端通過listen開啟監聽,等待客戶端接入。
15.客服端通過connect連接服務器, 服務器通過accept接收客服端連接, 在過程中會進行三次握手。
16.客服端和服務器端通過write和read發送和接收數據。操作系統將會完成tcp數據的確認,重復步驟。
17.通過clolse關閉連接,操作系統會進行四次握手。
18.127.0.0.1 和主機地址
19. listenfd.Listen(0); 掛起最大長度
20. byte[] readBuff = new byte[1024];
21.字節轉換成字符串
int count = connfd.Receive(readBuff); string str = System.Text.Encoding.UTF8.GetString(readBuff, 0, count);
22.轉出字節數列
//send byte[] bytes = System.Text.Encoding.Default.GetBytes("serv echo" + str); connfd.Send(bytes);
23地址簇,套接字類型
Socket listenfd = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
24.用tcp 則是Socket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);
25.接收和發送都返回長度 。
26.多個請求要用到異步
//send byte[] bytes = System.Text.Encoding.Default.GetBytes("serv echo" + str);
connfd.Send(bytes);
網絡遊戲實戰總結