宋敬彬 海信集團國家重點實驗室高級工程師。海信數字家庭原型系統的主要設計及實現人員。有十多年的Linux編程經驗,對Linux內核和網路協議棧十分熟悉。長期從事嵌入式Linux設備、機頂盒產品、IGRS設備互聯的研究和開發工作。目前主要從事數字家庭系統的設計和實現。曾經在技術期刊上發表過多篇技術論文。曾經參加過國家863高性能集群伺服器、電子發展基金的IPv6等項目。.
② 專注於Linux網路編程有前途沒
Linux網路編程,市場需求非常少,做這項工作的也不多,但是也有需要!做linux編程,最好是自己非常精通,其實每個都一樣,都需要精通才好!
③ Linux網路編程的介紹
《Linux網路編程》是2010年清華大學出版社出版的圖書,作者是宋敬彬、孫海濱。linux是目前最流行的開源操作系統,網路功能在linux下佔有核心的地位。本書循序漸進地從應用層到linux內核、從基本知識點到綜合案例,向讀者介紹如何在linux下進行網路程序設計。本書內容分為4個部分:linux程序設計基礎部分、linux用戶空間網路編程部分、linux內核網路編程部分以及綜合案例部分。內容包含linux系統概述、linux編程環境、linux文件系統簡介、linux下的進程和線程、tcp/ip協議族、應用層網路服務程序、tcp編程、主機信息獲取、數據io復用、udp編程、高級套接字、套接字選項、原始套接字、伺服器模型、ipv6、linux 內核網路部分結構及分布、netfilter框架內報文處理。
④ linux系統網路編程主要是學什麼要用到哪些概念和函數最好是舉例說明,要詳細些
多線程和多進程要學。socket套接字要學。TCP/UDP也要學。這些是基本肯定要學的吧,其餘的就不知道你們研究多深了。用到的函數太多了- -!而且函數的參數也多的一筆,很難記的,有幫助手冊了還好。
⑤ Unix/Linux網路編程可以用來做什麼
如果你還不知道有什麼用處,建議你先把網路編程放一邊;先學習你目前最需要用到的。等到你有著方便的需求時,你自然就明白網路編程有什麼用處了。這也是學習的一種方法,需求導向型的學習方法會有很高的效率。
⑥ 為什麼要學linux網路編程知乎
現在國內的很多書籍是以Centos系統為平台編寫的,當然作者大多會列出來諸多的理由,但很多都是以訛傳訛的歪曲道理,根本沒有剖析到RedHat公司的運作方法和Centos系統的本質,Centos系統是通過將RHEL系統釋放出的源代碼二次編譯的Linux系統之一,命令操作和服務配置方法自然都是完全相同,去掉了很多紅帽收費的服務套件功能,並且不提供任何形式的技術支持,那麼選擇的理由只有一個——免費!,當「高手們」大舉免費、開源、正義的旗幟來宣揚Centos系統的時候,諸不知Centos系統其實早在2014年初就已經被紅帽公司收購,只是戰略性的免費而已,而根據Gnu GPL許可協議,我們同樣也可以免費使用RHEL系統,甚至是修改代碼後創建出衍生產品,自由程度是沒有任何的差異,更無關道德問題。
⑦ 專注於Linux網路編程有前途沒
linux網路編程,市場需求非常少,做這項工作的也不多,但是也有需要!做linux編程,最好是自己非常精通,其實每個都一樣,都需要精通才好!
⑧ LINUX網路編程中socket函數詳細解釋下吧
函數原型:int socket(int family,int type,int protocol); 參數解釋:family指定協議簇,UNIX下(包括linux)有:AF_INET,AF_INET6,AF_LOCAL,AF_ROUTE,AF_KEY,分別是IPv4,IPv6協議,UNIX域協議,路由套介面,密鑰套介面; type指定套介面類型:unix下有四種,分別是:SOCK_STREAM,SOCK_DGRAM,SOCK_SEQPACKET,SOCK_RAW。(流套接字,數據報套接字,有序分組套接字,原始套接字),SOCK_SEQPACKET已很少使用; protocol:IPPROTO_TCP,IPPROTO_UDP,IPPROTO_SCTP,分別是TCP傳輸協議,UDP傳輸協議,SCTP傳輸協議; 函數返回一個非負整數值,類似於文件描述符(linux內核知識),稱之為套介面描述字,簡稱套接字。《Linux就該這么學》這本書,希望你能感受到linux系統和這本書帶給你的好處及幫助。
⑨ 跪求一份linux下網路編程的學習心得
正好我上午正在看的這篇:
========================
解答:學習Linux的四個步驟
假設你是計算機科班出身,計算機系的基本課程如數據結構、操作系統、體系結構、編譯原理、計算機網路你全修過
我想大概可以分為4個階段,水平從低到高
從安裝使用=>linux常用命令=>linux系統編程=>內核開發閱讀內核源碼
其中學習linux常用命令時就要學會自己編譯內核,優化系統,調整參數
安裝和常用命令書太多了,找本稍微詳細點的就ok,其間需要學會正則表達式
系統編程推薦《高級unix環境編程》,黑話叫APUE
還有《unix網路編程》
這時候大概還需要看資料理解elf文件格式,連接器和載入器,cmu的一本教材中文名為《深入理解計算機系統》比較好
內核開發閱讀內核源碼階段,從寫驅動入手逐漸深入linux內核開發
參考書如下《linux device drivers》,黑話叫ldd
《linux kernel development》,黑話叫lkd
《understading the linux kernel》,黑話叫utlk
《linux源碼情景分析》
這四本書為搞內核的必讀書籍
最後,第三階段和第四階段最重動手,空言無益,光看書也不罩,不動手那些東西理解不了
學習linux/unix編程方法的建議
建議學習路徑:
首先先學學編輯器,vim, emacs什麼的都行。
然後學make file文件,只要知道一點就行,這樣就可以准備編程序了。
然後看看《C程序設計語言》K&R,這樣呢,基本上就可以進行一般的編程了,順便找本數據結構的書來看。
如果想學習UNIX/LINUX的編程,《APUE》絕對經典的教材,加深一下功底,學習《UNP》的第二卷。這樣基本上系統方面的就可以掌握了。
然後再看Douglus E. Comer的《用TCP/IP進行網際互連》第一卷,學習一下網路的知識,再看《UNP》的第一卷,不僅學習網路編程,而且對系統編程的一些常用的技巧就很熟悉了,如果繼續網路編程,建議看《TCP/IP進行網際互連》的第三卷,裡面有很多關於應用協議telnet、ftp等協議的編程。
如果想寫設備驅動程序,首先您的系統編程的介面比如文件、IPC等必須要熟知了,再學習《LDD》2。
對於幾本經典教材的評價:
《The C Programing Language》K&R 經典的C語言程序設計教材,作者是C語言的發明者,教材內容深入淺出。雖然有點老,但是必備的一本手冊,現在有時候我還常翻翻。篇幅比較小,但是每看一遍,就有一遍的收獲。另外也可用譚浩強的《C語言程序設計》代替。
《Advanced Programing in Unix Envirement》 W.Richard Stevens:也是非常經典的書(廢話,Stevens的書哪有不經典的!),雖然初學者就可以看,但是事實上它是《Unix Network Programing》的一本輔助資料。國內的翻譯的《UNIX環境高級編程》的水平不怎麼樣,現在有影印版,直接讀英文比讀中文來得容易。
《Unix Network Programing》W.Richard Stevens:第一卷講BSD Socket網路編程介面和另外一種網路編程介面的,不過現在一般都用BSD Socket,所以這本書只要看大約一半多就可以了。第二卷沒有設計到網路的東西,主要講進程間通訊和Posix線程。所以看了《APUE》以後,就可以看它了,基本上系統的東西就由《APUE》和《UNP》vol2概括了。看過《UNP》以後,您就會知道系統編程的絕大部分編程技巧,即使卷一是講網路編程的。國內是清華翻譯得《Unix網路編程》,翻譯者得功底也比較高,翻譯地比較好。所以建議還是看中文版。
《TCP/IP祥解》一共三卷,卷一講協議,卷二講實現,卷三講編程應用。我沒有怎麼看過。,但是據說也很經典的,因為我沒有時間看卷二,所以不便評價。
《用TCP/IP進行網際互連》Douglus.E.Comer 一共三卷,卷一講原理,卷二講實現,卷三講高級協議。感覺上這一套要比Stevens的那一套要好,就連Stevens也不得不承認它的第一卷非常經典。事實上,第一卷即使你沒有一點網路的知識,看完以後也會對網路的來龍去脈了如指掌。第一卷中還有很多習題也設計得經典和實用,因為作者本身就是一位教師,並且卷一是國外研究生的教材。習題並沒有答案,留給讀者思考,因為問題得答案可以讓你成為一個中級的Hacker,這些問題的答案可以象Douglus索取,不過只有他只給教師卷二我沒有怎麼看,卷三可以作為參考手冊,其中地例子也很經典。如果您看過Qterm的源代碼,就會知道Qterm的telnet 實現部分大多數就是從這本書的源代碼過來的。對於網路原理的書,我推薦它,而不是Stevens的《TCP/IP祥解》。
《Operating System - Design and Implement》這個是講操作系統的書,用Minix做的例子。作者母語不是英文,所以英文看起來比較晦澀。國內翻譯的是《操作系統設計與實現》,我沒看過中文版,因為翻譯者是尤晉元,他翻譯的《APUE》已經讓我失望頭頂了。讀了這本書,對操作系統的底層怎麼工作的就會
有一個清晰的認識。
《Linux Device Driver》2e ,為數不多的關於Linux設備驅動程序的好書。不過內容有些雜亂,如果您沒有一些寫驅動的經驗,初次看會有些摸不著南北。國內翻譯的是《Linux設備驅動程序》第二版,第一版,第二版的譯者我都有很深的接觸,不過總體上來說,雖然第二版翻譯的有些不盡人意,但是相比第一版來說已經超出了一大截。要讀這一本書,至少應該先找一些《計算機原理》《計算機體系結構》的書來馬馬虎虎讀讀,至少應該對硬體和計算機的工作過程有一些了解。
⑩ Linux網路編程:什麼是Linux下的網路編程
進程是任務管理起裡面可以看到的一個程序,就屬於一個進程;線程是一個進程,也就是一個程序同時可以執行多少個任務。像多線程下載,有的網站不支持多線程下載,用迅雷或者QQ旋風就會被屏蔽掉;還有多線程破解等等。。。