網路編程經驗
① 我沒有網路基礎,我想學網路編程上哪學好,大概多長時間能學會
這不是游泳,花多少時間就能學會,沒有那麼好的事情。
編程從入門,到熟練,到深回入理解到完答全精通成為高級工程師級別有著天差地別的區別。
一般大學畢業生只能到入門級別,需要工作幾年才能熟練,至於到高級工程師級別就得是5年起步的時間來積累經驗和擴展知識體系。
想要吃這碗飯,就要有這樣的逐步積累沉澱的過程,沒有心理准備就別來,浪費時間浪費錢。無論哪裡學都一樣,逃不過艱難的過程以及無計其數的犯錯和改錯並積累經驗的過程。
② 有過java socket網路編程經驗的人進來指導下
這兩個問題都可以通過消息機制來解決,
消息機制就是雙方約定的通信語言。
首先:你需要自定義一份雙方約定的通信機制,
其次: 對每個連進來的客戶按用戶ID或IP進行編號存入哈希表,以方便索引用戶的Socket通道。 每進來一個客戶就 hashtable.put(user.name, socket);
最後:雙方都還要有兩個緩沖數組(可以是數組Object[],也可以是Vector,Arraylist,Hashtable都可以);
一個叫發送緩沖區,一個叫接收緩沖區。每一個都附帶一個管理線程。
向客戶端發送消息時,並不是馬上就發送,而是將消息推入到發送緩沖區排隊,
發送緩沖區的線程會每隔一小片時間後就掃描並 pop出一個可發送的消息。
分析這個消息的源發送者和目的發送者,然後hashtable的索引找到目的發送者的socket通道。並發送.
另一個叫接收緩沖區。 Socket的網路線程不斷接收到客戶的消息,但不是馬上就處理,也不會自己親自處理,而是壓入接收緩沖隊列等待緩沖隊列來處理,自己休息片段又立馬再去接收別的客戶發過來的消息。 接收緩沖區有自己的線程,它每sleep一小片刻時間後就掃描隊列中有無消息到達,如果有(網路線程剛壓進一的),則可以採用監聽器模式讓監聽器處理,如果不想那麼復雜也可以自己處理, 會分析消息來源和去向,從去向中分析出將要發送給某人,但自己並不發送,而是直接壓入到發送緩沖區(這里就接到前面的發送緩沖區介紹中去了)
最後是消息機制的設計。
我公司的游戲都是由我來設計通信機制,實現三網合一,即手機,PC,電視機頂盒三種客戶端同玩一桌麻將游戲
一般java設計的游戲中設計如下:
一. 消息頭 二.消息體
消息頭設計格式如下: 1. 本消息包長度,以方便解析位元組;2. 本消息類型TYPE:如一般消息,游戲消息,大廳消息,聊天消息;3.本消息命令類型COMMAND: 如登陸、個人資料修改、登出、聊天。。。。
消息體設計格式一般根據Type和command不同而有不同。 如聊天消息包含四個欄位,String 聊天內容、 User 發送者、 User 接收者、Text文字排版信息
服務端SeverSocket收到這個消息後,壓入接收緩沖區, 接收緩沖線程分析其中結構,根據Type和Command的類型實例化出相應消息類, 該消息類能自動將後面的位元組流實例化自身的欄位。從而得到接收方和發送方, 得到接收方後再將消息封裝好壓入到發送隊列
這個結構除完全適合聊天系統以外,以後要加入新內容將會非常容易!
如果有什麼疑問歡迎call我, 我不負責寫代碼,但可以指點你。 另外,我的回答記錄中有用nio設計的聊天室BBS代碼。也是幫一個學生做的。你可以看看
③ 學網路編程的話怎麼掙錢呢
學習網路編程需要學習很多知識的,首先你需要學習前端知識,比如說html,js,css。還有就版是後權端知識比如說java,php。學完以後,你可以去外包公司或者互聯網公司應聘上班,剛開始的時候工資比較低,如果經驗比較豐富的話,工資會越來越高的。
④ Linux c++ 網路編程 前途如何
我就是做這個的,呵呵
LINUX程序員平均工資比WINDOWS高,這時肯定的專。
網路編程和嵌入式屬,怎麼說呢,這個不方向,只是基本技術。
也就是說,學習LINUX的話,肯定是開發軟體了,包括應用程序、系統層(協議、驅動)這些,基本上LINUX下開發大部分會用到網路編程,也就是SOCKET,即使很多本地應用也用到它,應為它比進程通信強大。
嵌入式呢,主要是指開發平台是ARM這樣的平台,但對於軟體工程師,什麼平台不是太有關系,只是做做移植而已,也就是重新編譯。
LINUX下的軟體開發式一個很難學的東東,應為它涉及的東西比較多,知識較廣,因為你學LINUX不懂底層就等於不懂LINUX,涉及底層的話,你要學操作系統原理、看內核源碼、分析協議棧、學習硬體原理(學操作系統要了解)、學習LINUX下的編譯環境。做嵌入式的還要掌握嵌入式的開發流程,比如搭建平台、交叉編譯等。
介紹到這里,把我說的這些掌握了,有一點經驗了,你工資低於一萬是不可能的。呵呵。
⑤ 求c/c++網路編程方面的資料或經驗,謝謝啊~~
這個資料就是那個資料,這個經驗啊
⑥ 跪求一份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設備驅動程序》第二版,第一版,第二版的譯者我都有很深的接觸,不過總體上來說,雖然第二版翻譯的有些不盡人意,但是相比第一版來說已經超出了一大截。要讀這一本書,至少應該先找一些《計算機原理》《計算機體系結構》的書來馬馬虎虎讀讀,至少應該對硬體和計算機的工作過程有一些了解。
⑦ 網路編程的項目經驗怎麼寫 要注意什麼
誠信是每個公司都看重的,別人的經驗不會給你任何幫助,任何有經驗技巧的面試官都能輕松的從和你的溝通中發現問題……
建議以自己實際寫過的代碼為出發點寫簡歷,可能的說清楚自己真正了解的深度,會有機會的
⑧ 想學習網路編程可是沒有基礎,該看什麼書最好
建議報一個培訓班,都是零基礎入學的,這是網路編程的全部課程,要是內感興趣的話可以容了解一下:
第一階段
1、計算機操作基礎
2、Office辦公自動化
3、計算機組裝與維護
4、C語言
第二階段
1、SQL Server2005資料庫設計
2、和高級查詢
3、數據結構
4、C#面向對象程序設計
5、HTML5與CSS3開發
6、JavaScript
7、jQuery高級編程
8、PHP開發
第三階段
APP Development
1、JavaScript特效製作
2、jQuery應用開發
3、HTML5與CSS3開發
4、Java面向對象程序設計
第四階段
JAVAWEB Development
1、產品流程應用
2、移動平台界面設計
3、Oracle資料庫開發
4、JavaWeb應用開發
Mobile APP Development
1、實訓一:WEB前端設計與開發
2、實訓二:J2EE項目開發
⑨ 目前正學習java網路編程的知識,有哪位能介紹下經驗,或者推薦基本書籍,就非常好了,謝謝。
java編程思想、JSP+Tomcat詳細講解、JavaScript高級編程