socket編程入門 桌面運維工程師專業(yè)技能怎么寫?
桌面運維工程師專業(yè)技能怎么寫?通常桌面運維工程師的專業(yè)技能可以寫:1.精通shell/Python/Perl等1至2種編程語言2.熟練掌握常用數(shù)據(jù)結(jié)構(gòu)和算法,并能靈活運用3.熟悉網(wǎng)絡(luò)基礎(chǔ)知識4.深入理
桌面運維工程師專業(yè)技能怎么寫?
通常桌面運維工程師的專業(yè)技能可以寫:
1.精通shell/Python/Perl等1至2種編程語言
2.熟練掌握常用數(shù)據(jù)結(jié)構(gòu)和算法,并能靈活運用
3.熟悉網(wǎng)絡(luò)基礎(chǔ)知識
4.深入理解Linux操作系統(tǒng)
5.熟悉開源的監(jiān)控平臺工具,比如:Ganglia、Nagios等
6.熟練掌握Shell腳本熟悉Awk、Sed等基礎(chǔ)工具
7.熟悉分布式計算或者存儲系統(tǒng),比如Hadoop/Hbase/Storm等
8.熟悉機器學(xué)習(xí)原理能付諸實踐者更佳
9.熟悉TCP/IP、HTTP等網(wǎng)絡(luò)協(xié)議,精通socket網(wǎng)絡(luò)編程
HTTP和Socket連接的區(qū)別?
其實這樣比是有問題的,http實際上是一種應(yīng)用級協(xié)議,常用的是http1.0和http 1.1協(xié)議。而socket則是一個連接,它直接在鏈路層上進行連接。在該連接的基礎(chǔ)之可以實現(xiàn)各種應(yīng)用級協(xié)議。
如通過socket可以實現(xiàn)ftp協(xié)議、http、https、NetBIOS、Win、Iron等等,甚至于可以實現(xiàn)藍牙(藍牙連接在.net中不被支持,是因為socket所需參數(shù)的協(xié)議簇中枚舉中沒有藍牙,但可以直接通過數(shù)據(jù),實現(xiàn)與藍牙的通信)。
所以http是一個協(xié)議與Socket連接是沒有可比性的,在.net中,可實現(xiàn)http協(xié)議的連接。
正是因為socket功能的強大,所以對于socket編程一般用于特殊一點的協(xié)議或高性能網(wǎng)絡(luò)要求的情況下才使用這種編程。
如果是一般的tcp/ip,在.net中已經(jīng)實現(xiàn)了其功能封裝。例如WebClient實現(xiàn)http/https,再如.net 4.5新增的HttpClient也可以實現(xiàn)同的功能。但這些功能較為狹窄,那么在.net中的可插入?yún)f(xié)議是一個中庸的選擇。
目前實現(xiàn)的有HttpWebRequest/FtpWebRequest。并且可繼承WebRequest實現(xiàn)自己的可插入?yún)f(xié)議。
也就是說,如果我們與httpClient或WebClient與Scoket相比的話,WebClinet/HttpClient是實現(xiàn)特定功能的Socket封裝,它減少開發(fā)周期,但底層還是Socket。
如果WebRequest與Socket相比的話,WebRequest是實現(xiàn)特定協(xié)議的Socket封閉,并可實現(xiàn)可插入?yún)f(xié)議。
換句來說,WebClient是完完全全的一個通信類,而WebRequest則算是一個協(xié)議開發(fā)類(它已經(jīng)實現(xiàn)了FtpWebRequest及HttpWebRequest),而Socket則是底層開發(fā)。