這篇文章給大家分享的是有關(guān)C++中socket如何實現(xiàn)跨平臺的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)主營貴港網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app開發(fā),貴港h5小程序開發(fā)搭建,貴港網(wǎng)站營銷推廣歡迎貴港等地區(qū)企業(yè)咨詢網(wǎng)絡(luò)編程
Socket是跨平臺的在Window和Linux基本通用,無論是,java php都是需要網(wǎng)絡(luò)的,網(wǎng)絡(luò)編程是每個程序員都需要掌握的,他并不復(fù)雜。復(fù)雜的地方是對整個協(xié)議的理解,還有網(wǎng)絡(luò)通信的理解。
這個博客是對整個網(wǎng)絡(luò)編程中最,學(xué)習(xí)的目的:
{能夠熟悉windows和linux下的開發(fā)流程,能夠開發(fā)出支持跨平臺的多線程的網(wǎng)絡(luò)程序。理解socket編程原理,理解udp和tcp的協(xié)議,并能通過抓包工具分析協(xié)議,通過本課程的學(xué)習(xí)能夠開發(fā)出支持高并發(fā)的網(wǎng)絡(luò)服務(wù)端,通過開發(fā)支持php的http服務(wù)器和syslog服務(wù)器能夠?qū)⒕W(wǎng)絡(luò)編程投入實戰(zhàn)應(yīng)用。掌握c++11的線程庫和正則表達式庫。}.
使用語音是:C/C++,因為他高性能,對高并發(fā)的處理很好.
最終可以帶大家實戰(zhàn)一個支持PHP腳本的http服務(wù)器。
需要注意的是Socket庫不等同于TCP/UDP編程,因為他還可以開發(fā)其他
的一些協(xié)議。
交流群:140066160
進入正題:(先講理論,在實戰(zhàn))
1TCPIP協(xié)議分層講解
學(xué)習(xí)網(wǎng)絡(luò)編程,他說基于什么協(xié)議之上的。不是會用幾個函數(shù)就可以了,那么TCP/IP是基于什么協(xié)議呢?
我們對網(wǎng)絡(luò)編程不能停留在僅僅會用Socket把兩個程序調(diào)通了,互相發(fā)送協(xié)議。你要明白整個協(xié)議的過程,為了實踐當中解決
問題,碰到網(wǎng)絡(luò)問題你知道是什么原因。

看TCP/TP四層協(xié)議,我看到我們程序人員其實只要用到
這四層,OSI模型中。
1.網(wǎng)絡(luò)介質(zhì)層
物理層和數(shù)據(jù)鏈路層對應(yīng)的是“網(wǎng)絡(luò)介質(zhì)層”,
每一層都是為了解決一個問題,他是解決一個硬件設(shè)備和另一個硬件設(shè)備在物理上怎么進行通信。通信得知道地址,所以“網(wǎng)絡(luò)介質(zhì)層”會最終封裝出一個“MAC”地址,就是硬件的地址,來進行通信.
2 IP層
這一層,上面已經(jīng)實現(xiàn)了一個設(shè)備到另一個設(shè)備物理上的連接,但是,我們需要的是真正接收的這個數(shù)據(jù)呢, 這個時候就需要確定是由誰來接收。那我們通過IP層給每個設(shè)備封裝一個IP地址。
然后由交換機來進行分配,在這層程序成員需要做的是:IP地址建立連接,目前IP地址都是基于IPV4是4個字節(jié)的IP地址。這個網(wǎng)絡(luò)層只需要知道IP對IP地址
協(xié)議的目的是什么?協(xié)議是怎么實現(xiàn)的?

非常簡單,原理也非常簡單,我們就是在用戶發(fā)送的數(shù)據(jù)加一層頭,最后接收端在通過解包一層一層去掉。
為了深刻理解上面的圖,我們下載一個抓包軟件來看看,Wireshark,可以百度直接就可以下載,抓HTTP的協(xié)議看看


隨便抓到一個整包(Get的)

先看下分析的內(nèi)容
1 frame 最底層的幀數(shù)據(jù),也就是說把TCP分層他會把數(shù)據(jù)
切包,切成一幀一幀的,

2 Ethernet II 他對應(yīng)的是鏈路層的MAC的地址,目標,源地址

3 Internet Protocol,這個就是上面講的IP層,這里有目標ID
來源IP等信息,

4 Transmission 傳輸層,端口號,原端口號,目標端口,

5 Hypertext Transfer Protocol應(yīng)用層,圖片中是
Http協(xié)議會發(fā)送一個Get請求過去

需要搞跨平臺,需要用到Linux 。ubuntu 16.04 .先到這
感謝各位的閱讀!關(guān)于“C++中socket如何實現(xiàn)跨平臺”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
文章標題:C++中socket如何實現(xiàn)跨平臺-創(chuàng)新互聯(lián)
標題URL:http://chinadenli.net/article38/cddspp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、企業(yè)網(wǎng)站制作、網(wǎng)站改版、網(wǎng)站制作、定制開發(fā)、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容