網路底層編程
㈠ 什麼是網路底層技術
網路底層技術是指接入網路所必需、必要的、最基本需要滿足的條件的技術。
網路底層技術包括:
1、乙太網技術;
2、其他區域網技術;
3、光纖分布式數據介面;
4、其他諸如路由器、MODE等數據交換及輔助技術。
㈡ 你好!我想請教一下關於基於數據鏈路層的網路底層程序設計和編程實現的課程設計
這課題內容量好大,幾乎等價於實現TCP/IP棧的數據鏈路層和網路層
概念方面推薦看下:TCP/IP Illustrated, Vol. 1和Vol. 2
源碼方面可以參考下BSD的那個版本做簡化吧(肯定要重寫的,人家是unix系統)
基於windows的開源TCP/IP實現有winpcap,lwip什麼的,你也可以看看
good luck
㈢ 請問在c#中如何使用winpcap進行底層直接網路編程
winpcap寫成dll 然後在c#中調用
㈣ 如何學好網路知識
方法/步驟
1/6 分步閱讀
對於初學者,我們一定要看的一套書是網路書籍中的聖經《TCP/IP詳解卷一:協議》,這一本書講解了基本所有的網路基本知識,熟讀這本書就可以對網路協議知識有一個大概的理論基礎。
2/6
對於網路基礎協議有了一個大概的理解後,我們就需要加強自己的動手能力,我們可以學習一些基礎的網路實驗,比如ospf、rip等網路路由協議。可以通過一些軟體來進行模擬實驗。通過動手練習來增加知識。
3/6
能夠熟練掌握一些知識之後我就可以加深自己這方面的知識了,還是《TCP/IP詳解卷2:實現》,這一本書講的是關於網路協議他是怎麼實現的,因此這就涉及到了網路底層編程的問題。我們就需要對編程有一定的理解。
4/6
關於底層編程的學習,我們最好從最基礎的c語言學習,一本C語言從入門到精通是十分必要的。
5/6
有了一定的基礎,並且對編程也有一定理解,我們就可以慢慢的熟讀《卷2.實現》。最後一本是《TCP/IP詳解卷3》。對於要在網路上有大成就的人,這本書還是要看的。
6/6
對於一個網路方面的高手。我們還是需要掌握其他的一些基本常識的,比如操作系統方面,要熟悉windows 和Linux系統。對於windows系統的一些基本問題要能解決。
㈤ 想學網路編程 要從哪裡開始
先學Windows底層網路編程,在去學一些比較高級的語言的網路編程,比如說C#、java體會一下強大的現代化的網路編程工具。
Windows底層網路編程與C語言差不多,只不過調用了很多的API函數,同時學習Windows可以知道一些系統的底層原理,還可以加強C語言的編程能力。
哈哈,不說了。
㈥ 懂一點C和VB怎麼系統的學習網路編程(底層協議的那些)
記住,沒有最差的開發工具,只有最差的程序員。
C可以操作底層,VB也可以,雖然速度不是很快;
學好C可以對嵌入式和底層開發進行很大程度的開發,但是在windows系統中小程序上,VB有著得天獨厚的優勢,效率高,產期短,易於上手,對windows可控性高,所以說沒有什麼過不過時的軟體,程序道理都相通,只要你用心,C,C++,.net都可以學會。
學習本身就是苦悶的,沒有苦悶的過程哪來優異的學識?
堅持吧!扛過去就好了!
-----------------------
如何學好VB
序:不要老是想著誰「最有錢途」,這些都不是我們應當考慮的,我們要考慮的是怎樣才能真正的精通VB。如果成為了VB的專家,應當很容易賺到錢的。VB程序員為什麼工資低,不是VB不行,是因為大部份VB程序員不行,他們只懂得用控制項,而沒有什麼編程的思想。而VB的初學都只會用控制項和簡單的API就說精通VB了,顯然影響的整個VB在程序界的地位,這些人顯然不能稱為程序員的,只能相當於會使用VB了,就像會Word一樣。如果VB程序員都懂的數據結構,UML等,就完全是另外一回事了。有認為VB功能弱,請注意:仙劍95版就是用VB4做的,還有DirectX SDK7中有個一很好玩的3D游戲,聲音和動畫都非常好,也是用VB寫的。所以VB能做很多東西,只要你想去做。
(1)VB不只是資料庫和報表。不要以為VB就是資料庫和報表,這只是VB強大功能的一小部份。如果這此都搞不清,還是好好的看一下相關的書籍,比在這里問問題有用多了。我以前沒有學過資料庫,只是有些編程的思路,後來學資料庫就非常容易了。我做報表一般用RichTextBox或是From來做,一般都能做的很好,也不用去考慮什麼水晶報表了。
(2)不要迷信於API。API能做很多東西,但有些東西在VB裡面的函數中就有,API只是VB對WindowsSDK的封裝而已。如果想學好API,建議學習SDK。如果VB本身就能很好的支持這個功能,何必還要用API呢。
(3)不要什麼都想著控制項。如果做程序都想著第三方控制項的話,代價是很高的,不僅程序大,安全性也低了很多。其實VB本身帶的控制項已經完全夠用了。
(4)認認真真的把MSDN中關於VB的內容好好看一看,特別是函數和語句,很有用的。
(5)遇到問題不要直接來這里問,自己好好想一想,試著解決這個問題,這雖然在時間上慢了,可是在自身的提高上卻有很大的幫助。
(6)沒事的時候,多研究些語言上的東西,如數據結構和演算法,不要老是想著什麼花哨的東西。這對以後的提高非常有幫助。
如何學好VB程序設計
1,學習程序設計的基本要求
2,Vb的功能及特點
3,學習VB程序設計的方法
對學習者知識的要求:
首先,學習程序設計要具備一定的數學基礎.計算機與數學有很大的聯系,綜觀計算機歷史,計算機的數學模型(圖靈機,由Alan Turing提出)和體系結構(由John Von Neuman提出)等都是由數學家提出的,最早的計算機也是為數值計算而設計的.因此,要學習好計算機就要有一定的數學基礎.不過對於初學者來說,在數學基礎方面的要求並不是很高,從我個人的角度來看,有高中數學水平就差不多了.
如何學好VB程序設計
學習程序設計基本要求
對學習者知識的要求:
其次,學習程序設計要有一定的邏輯思維能力.邏輯思維需要長時間的鍛煉,如果你覺得自己在邏輯思維能力上有不足,也沒有關系,因為編寫程序本身也是對邏輯思維的鍛煉.初學程序設計應具備的邏輯基礎可以從高中數學中學到.
如何學好VB程序設計
學習程序設計基本要求
熟悉Visual Basic操作環境與設計工具,能設計應用程序界面.
掌握,理解面向對象程序設計基本概念
掌握VB語言的基礎知識,程序設計的方法,
能閱讀一般難的程序;
能應用編寫一些簡單程序;
具有用Visual Basic開發Windows環境下應用程序的能力和閱讀分析一般難度的VB程序的能力.
如何學好VB程序設計
VB程序設計的基本要求
Visual Basic 簡介
Visual Basic 是Microsoft 公司開發的Windows 應用程序開發工具,Visual ——"可視化的",是一種開發圖形戶界面(GUI)的方法.使得非計算機專業的人也可以開發出專業的Windows軟體.
Visual Basic繼承了BASIC語言簡單易學的優點,又增加了許多新的功能,它採用面向對象與事件驅動的程序設計思想,使編程變得更加方便,快捷.使用Visual Basic既可以開發個人或小組使用的小型工具,又可以開發多媒體軟體,資料庫應用程序,網路應用程序等大型軟體.是國內外最流行的程序設計語言之一.
2,VB的功能及特點
英文Visual的意思是"視覺的","可視的Baisc"這個名字可能抽象了點,但實際上它卻是最直觀的編程方法,之所以叫做"可視",你只要看到VB的界面就會明白,實際上你無需編程,就可以完成許多步驟.
在VB中引入了控制項的概念,在Windows中控制項的身影無處不在,如按鈕,文本框等,VB把這些控制項模式化,並且每個控制項都有若干屬性用來控制控制項的外觀,工作方法,能夠響應用戶操作(事件).
這樣你就可以象在畫板上一樣,隨意點幾下滑鼠,一個按鈕就完成了,這些在以前的編程語言下是要經過相當復雜的工作的.
何為可視
Visual Basic的特點
1. 具有面向對象的可視化設計工具
2. 事件驅動的編程機制
3. 結構化的程序設計語言
4. 提供了易學易用的應用程序集成開發環境
5.支持多種資料庫系統的訪問
6.高度可移植化的代碼
7.VB6.0在開發環境上,網路功能等的大大增強
Visual Basic的特點
可視化設計: Visual Basic為用戶提供大量的界面元素(在Visual Basic中稱為控制項對象),例如 "窗體","菜單","命令按鈕","工具按鈕","檢查框"等等,用戶只需要利用滑鼠,鍵盤把這些控制項對象拖動到適當的位置,設置它們的大小,形狀,屬性等,就可以設計出所需的應用程序界面.
Visual Basic的特點
事件驅動編程:Windows操作系統出現以來,圖形化的用戶界面和多任務多進程的應用程序要求程序設計不能是單一性的,在使用Visual Basic設計應用程序時,必須首先確定應用程序如何同用戶進行交互.(例如發生滑鼠單擊,鍵盤輸入等事件時,用戶必須編寫代碼控制這些事件的響應方法)這就是所謂的事件驅動編程.
程序設計方法概述
1.初期的程序設計
高運行效率,少佔用內存為目標
2.結構化程序設計
程序的可讀性,可維護性為目標
程序=演算法+數據結構+計算機語言+面向過程的程序設計方法
3.面向對象的程序設計(OOP)
降低程序的復雜性,提高軟體的開法效率和改善工作界面為目標
程序=對象+消息+面向對象的程序設計
面向對象的程序設計具有如下的優點:
1.符合人們習慣的思維方法,便於分解大型的復雜多變的問題.由於對象對應於現實世界中的實體,因而可以很自然地按照現實世界中處理實體的方法來處理對象,軟體開發者可以很方便地與問題提出者進行溝通和交流.
2.易於軟體的維護和功能的增減.對象的封裝性及對象之間的鬆散組合,都給軟體的修改和維護帶來了方便.
3.可重用性好.重復使用一個類(類是對象的定義,對象是類的實例化),可以比較方便地構造出軟體系統,加上繼承的方式,極大地提高了軟體開發的效率.
4.與可視化技術相結合,改善了工作界面.隨著基於圖形界面操作系統的流行,面向對象的程序設計方法也將深入人心.它與可視化技術相結合,使人機界面進入GUI時代.
(1)養成良好的學習習慣
VB程序設計的入門學習並不難,但卻是一個十分重要的過程,因為程序設計思想就在這時形成的,良好的程序設計習慣也在這個階段養成.
(2)學習程序設計要注重理解一些重要的概念.
VB程序設計本身並不復雜,翻開一本程序設計學習的書籍,看到的無非就是變數,函數,條件語句,循環語句等概念.但要真正能進行程序設計,需要深入理解這些概念.因此,在程序入門階段還是應該重視概念的學習.
3,學習VB程序設計的方法
(3)自己動手編寫程序
程序設計入門階段要經常自己動手編寫程序,親自動手進行程序設計是創造性思維應用的體現,是培養邏輯思維的好方法.因此一定要多動手編寫程序,而且要從小程序開發開始,逐漸提高開發程序的規模.
(4)閱讀,借簽別人設計的好程序
多看別人設計好的程序代碼,包括教材上的例題程序.在讀懂別人程序後,要想他為什麼這么設計 能不能將程序修改完成更多的功能 則可以學到別人優秀的東西,幫助自己提高自身水平.
3,學習VB程序設計的方法
(5) VB程序設計學習的重點
重點放在思路,演算法,編程構思和程序實現上.
語句只是表達工具,要求堂上積極思考,盡量當堂學懂,並做到靈活應用.
學會利用計算機編程手段分析問題和解決問題.
(6)養成良好的編程習慣
強調可讀性;變數要加註釋;
程序構思要有說明;
學會如何調試程序;
對運行結果要做正確與否的分析.
3,學習VB程序設計的方法
學好VB程序設計的具體要求:
(1)課前預習,認真聽課並作適當做筆記,課後要認真復習消化所學內容,完成作業.
(2)多寫程序,注重實踐
程序設計課是高強度的腦力勞動,不是聽會的,也不是看會的,而是練會的.
只有自己動手,編寫一些程序,才會有成就感,進而對課程產生興趣,學起來才比較從容.只有當你在編寫大量程序之後,才能獲得真知灼見,感到運用自如.
動手能力的培養是這門課和以往課程最大的不同之處.
3,學習VB程序設計的方法
(3)上機調試程序應注意的幾點:
上機前應認真把實驗題在用紙上做一做(包括窗體界面設計,事件代碼的編寫等)
每次上機後應總結,把沒有搞清楚的問題記錄下來,請教老師或同學.
平時應多抽課余時間多上機調試程序.注意系統的提示信息,遇到問題多問幾開為什麼.
3,學習VB程序設計的方法
(4)保持良好的學習心態
要有自信,自強,積極主動學習.
克服畏難情緒,樹立學好程序設計的信心.
㈦ 怎麼系統的自學網路編程(底層協議)
用java來實現網路編程是很容易的,可以作為網路編程的入門。使用C++和winsock相對復雜一些。
總之看實際需要了。
你好初學網路編程者可以從以下幾個步驟開展:
1)下載一個可以互動的學習工具,通過這個與這個工具互動,我們可以及時的學到每個api的結果如果。
對於有c/c++或java基礎的朋友通過一兩個禮拜的時間就可以上手了,另外個人建議初學者可以學習dive into python。
2)掌握網路編程中會用到的幾個基本概念和內涵,比如IP地址,port號,socket等
3)記住和消化網路編程C/S模型,把server和client端編程的常用模式理解和消化
4)花幾天時間學習socket api集,api集可以分為下面幾大類:創建 socket bind listen accept收發 read/recv/recvfrom write/send/sendto關閉 close shutdown參數 getsockopt/setsockopt地址 gethostbyaddr getaddrbyhost,...在學習這些api時候,可以先關注在函數功能,參數意義上
5)結合python互動平台,實踐socket api的用法,比如socket函數怎麼使用,bind怎麼使用等等。在互動過程中,我們可以變換參數,看看調用結果如何。比如,創建一個tcp socket的語法如下:socket(AF_INET,SOCK_STREAM)創建一個udp socket的語法如下:socket(AF_INET,SOCK_DGRAM)
6)學習socket server端編程實現簡單規約比如echo,time等,然後通過cmd中的telnet來測試。
7)學習I/O模型,比如阻塞、非阻塞和反應式(select,poll,WaitForMultipleObject)等
8)學習Richard Stevens的《Unix網路編程》,深入學習其中的api原理以及服務端設計原理,並通過代碼編寫。
9)下載高性能網路編程框架twisted,筆者強烈推薦,它將使你的網路編程效率提高10倍以上。
10)學習設計模式、操作系統知識比如線程、進程、同步等。