協議編程
1. 怎樣算得上熟悉 TCP/IP 協議編程
抓包
先從熟悉的下手,HTTP,FTP。
封裝包
自己封裝包,和現有協議通信。TCP/IP協議作為一個底層協議,不僅可以編寫聊天程序,很多高層協議都是基於TCP/IP編寫的。
自己造輪子,這樣也有助於理解其它協議,比如連接、查詢MySQL(用Socekt函數而不是庫函數),自己封裝一個memched函數庫…
以前我大學時用perl發送「飛鴿傳書」包,經常上課的時候同學們集體收到彈出信息,卻不知道發送者是誰,很有成就感。如果你做已經事沒有成就感,就很快會失去動力。
他山之石
經常去github。
源碼
讀讀TCP/IP協議的實現代碼,去翻翻 Linux 1.0 源碼。
能進行網路編程
1.如果你說你會select,epoll,iocp模型,那會讓對方覺得更靠譜
2.如果你說出你做過im,下載之類那會讓對方來興趣.
3.如果你說設計了通訊協議,會讓對方覺得更貼切
4.如果你說做過,熟悉, ftp http snmp smtp 這些簡單的老古董協議,會加分,但不大.
5.如果你說熟悉bt,emule,udt等協議,那會對你很有好感.
6.如果你說你破解過某大牌 qq,360內某通訊協議,那會對你加分很大.
目測樓主在0.5的位置,嘿嘿
我對熟悉的定義是:閉著眼能想起原理和實現,能和其他人侃侃而談,能在搜索的幫助下,不慢的整出來.
精通的定義是:觀點一針見血,實現一揮而就.
1)熟悉TCP/IP協議族的基本原理
IP地址的分類,定義,獲得,大概的管理方法
TCP、UDP等主要協議的特點,主要格式,以及重要欄位在協議交互中起到的作用。
2)對於簡單的TCP/IP協議導致的問題,有基本的判斷
熟悉網路問題的解決方法,一個問題,應該是由上而下(top-button),還是由下而上(button-top)來分析?
3)基本的編程知識。
在系統內,構建簡單通信。
在系統間,構建簡單的通信。
熟悉系統內的API,知道在什麼時候,改使用哪些API協調工作。
能夠熟練使用這些API,在系統間傳遞信息,文件。
能夠熟練使用這些API,實現自己的簡單的私有協議。
4)進階編程知識
知道一兩個已經封裝好的框架(framwork),它們之間的差別。
使用一個框架,寫過能正常工作的程序。
知道網路協議處理也是要講究性能的,知道性能的瓶頸會在什麼地方產生。
能有較好的設計技巧,將私有協議設計得更加具有彈性,優雅。
熟悉系統間協議處理的細微的差異,以及將會對業務造成的影響,時延、狀態不一致、自定義欄位、、、、、
5)熟練階段的知識
針對業務的需求,快速選型,定框架。
不再認為多線程是萬能的。
知道穩定性比性能更加重要。
數據包去了哪兒,不用看代碼,也能預估出來。
6)源代碼是最好的老師,永遠都是。
2. 通信協議是不是用C語言編程出來的
這要看你的設備抄對哪種語言提供支襲持了,任何編程語言只是對特定操作系統的調用而已了。
真的處理數據的還是設備本身,可以是設備硬體電路完成功能,也可以是設備之上的系統軟體,比如思科或者華為的設備,他們都有自己的系統軟體,這些操作系統就沒有對外提供編程的介面,因此只要設備硬體的開發商才可以在設備上開發協議
3. modbus通訊協議編程在什麼開發環境,本人新新手,請指點
協議的實現和編程環境沒有關系,用任何一種語言都可以,是要實現協議的邏輯即可。
如果是在嵌入式裡面使用的話,建議用C語言。
4. 什麼是網路協議分析與編程是干什麼的
其實一般就是用截包工具截包,對包進行分析,分析出對方協議特徵碼,這樣做一般是防火牆或者流量管理需要的,回去分析特定軟體的私有協議,通過特徵碼識別。
協議編程一般就是根據自己的需求實現自己的私有協議。
滿意請採納
5. 通訊協議和編程語言是個什麼關系比如modbus通訊協議和C#語言如何聯系起來求高手解答!!!
沒有關系,C#是一種軟體開發語言,而modbus協議是SIO7層體系中的應用層的,用軟體實現,所以可以用C#來編寫,要硬說關系,那就是Modbus協議可以用C#來編寫。
6. c語言編程協議
協議一般是具體到某類產品時才提到的,一般網路編程有協議,我以前做醫學方面的,就有個DICOM協議
7. 乙太網,TCP,IP,modbus四層協議如何編程,能否舉個例子
如果你對Modbus稍有了解,對VB編程有一定基礎,以下的解答會有幫助。
Modbus是應用層協議,專它定義了一個與基礎通信層屬無關的簡單協議數據單元(PDU):功能碼+數據單元。Modbus要用於特定的匯流排或網路上,必須在PDU上引入一些附加域組成應用數據單元(ADU),例如用於乙太網時,其傳輸模式是Modbus TCP,這時ADU=MBAP報文頭+PDU。編程組成符合ADU格式的幀,就是常說的「數據打包」,一般在用戶定義的發送緩沖區(使用位元組數組)中完成。對於接收到的數據幀,需要按ADU格式去理解並編程處理,這就是常說的「數據解包」。
在VB中編程實現Modbus TCP通信,使用乙太網通信控制項,埠號是502。至於TCP/IP協議如何實現,不需要費心。編程重點還是ADU數據幀的打包、解包及事務處理。
具體實例不是能簡短說明的。推薦一個資料《MODBUS協議中文版》,網上搜索下載。
8. 當使用tcp協議編程時,哪些問題是程序員考慮和處理的
發送數據的格式和應用協議。
一旦雙方建立了TCP連接,連接中的任何一方都版能向對方發送數據並權接收對方發來的數據。
發送數據時,程序員可以編寫程序不斷地將數據流寫入TCP的發送緩沖區中,然後TCP自動從發送緩沖區中取出一定量的數據流寫入TCP的發送緩沖區中,然後TCP自動從發送緩沖區中取出一定量的數據,將其組成TCP報文段逐個發送給IP層,再通過IP層發送出去。
接收端從IP層收到TCP報文段後,將其暫時保存在接收緩沖區中,這時程序員就可以編寫程序依次讀取接收緩沖區中的數據,從而達到通信的目的。
(8)協議編程擴展閱讀
利用TcpClient和TcpListener在同步方式下接收、發送數據及監聽客戶端連接時,在操作沒有完成之前一直處於阻塞狀態,這在接收、發送數據量不大或者操作用時較短的情況下是比較方便的。
但是,對於那些完成時間可能較長(如傳送大文件)的任務時,使用同步操作可能就會造成系統假死,這種情況下,最好的辦法是使用非同步操作。
9. 通信協議編程是什麼 謝謝!
通信協議就類似於語言裡面的語法,
10. 學習協議,網路編程,以後的具體發展方向是什麼
網路編程的前景很不錯的,隨著移動互聯網的普及與發展,手機應用不斷深入我們回生活的方方面面,移動系統答和軟體應用的開發領域,成為了未來很具有潛力的行業之一。
在未來5年內,合格軟體人才的需求將遠大於供給。其中,尤以JAVA、PHP、HTML5與CSS3開發、Asp.net開發人才最為缺乏。