第一篇:socket編程實驗心得體會
實驗心得體會
在本次實驗中,我通過對網絡課上所學知識的應用,學到了很多實踐中的知識。并且加深了我對課本知識的理解和認識,在實驗過程中,更容易記憶和深入理解各種協議的工作以及在網絡編程中應該注意的一系列問題。
我們的第一個實驗是對ARP、ICMP、FTP和HTTP協議的分析和驗證。在利用軟件Etherpeek抓取在主機通信中的報文,得到了很多的關于這些協議的具體參數。在課程學習過程中,書本和老師給我的感覺就是太枯燥,通過課本的學習根本沒有辦法理解各種協議的工作細節。有很多的細微之處是想不通的。但是,在本次實驗中,我就通過各種報文的分析,看到了網絡中不同層次協議之間的協做過程。對應不同層之間就是通過協議來使用,我對整個網路的大體架構有了一個統籌的了解,雖然對很多的更深入的知識不是很了解,但是比我在課上學的東西要更有趣,而且容易學習,更能夠我學習的興趣。
第二個實驗是Socket編程實驗。在編寫網絡程序之前,我對網路通信可以說一無所知,根本不知道那些網路上的程序是怎么通過網路進行通信的。在本次實驗中,終于揭開了他們神秘的面紗。當然在實驗中出現了很多的插曲,我是在Linux環境下編寫的程序,很多技術方面的問題都無法解決。查閱書籍和網上咨詢才弄懂了他們的來龍去脈,最終是將我的程序編寫完了。開始接觸網路編程時,那是一頭霧水,根本不知從何下手。在看了輔導教員給我們程序之后才有了很多的起色,才能夠自己編寫程序。在網絡編程中,我最深的體會就是對具體的內部細節不熟悉,導致在調試的過程中感覺到很無力。在很多函數的作用下,經常就是一團亂麻。之后,我每次編寫之前就是將用到的函數的用法溫習一下,最后還是能夠解決很多的問題的。
本次試驗是我們學習網路的第一次。以前的課程從來沒有接觸到網路方面的知識。這次的新知識對我們的挑戰還算不是太大,通過我們的努力,所有的困難時被克服掉了。其實,實驗應該是我們的重點,在以后的工作中要的就是我們的實際的動手能力,如果我們在學習期間就是只學了書本上的知識,那樣對理論的了解是不夠深刻的,只有通過實驗才能激發我們的學習興趣。總之,我覺得實驗才是檢驗理論的唯一標準。
第二篇:計算機網絡實驗報告(路由算法、Socket編程)
計算機網絡實驗報告
班級: 姓名: 學號:
實驗一
一. 實驗目的及要求
編寫程序,模擬距離矢量路由算法的路由表交換過程,演示交換后的路由表的變化。
二. 實驗原理
距離矢量路由算法是這樣工作的:每個路由器維護一張路由表(即一個矢量),它以網絡中的每個路由器為索引,表中列出了當前已知的路由器到每個目標路由器的最佳距離,以及所使用的線路。通過在鄰居之間相互交換信息,路由器不斷地更新他們的內部路由表。
舉例來說,假定使用延遲作為“距離”的度量標準,并且該路由器發送一個列表,其中包含了他到每一個目標路由器的延時估計值;同時,他也從每個鄰居路由器接收到一個類似的列表。假設一個路由器接收到來自鄰居x的一個列表,其中x(i)表示x估計的到達路由器i所需要的時間。如果該路由器知道他到x的延時為m毫秒,那么他也知道在x(i)+m毫秒之間內經過x可以到達路由器i。一個路由器針對每個鄰居都執行這樣的計算,就可以發現最佳的估計值,然后在新的路由器表中使用這個最佳的估計值以及對應的輸出路線。
三.源程序:
#include “stdio.h” #include “stdlib.h” #include “malloc.h” #include “graphics.h” #include “dos.h” #define VERNUM 7
typedef struct {
int dis;
int flag;
int flag2;}RoutNode;
char tmp[10];RoutNode data[VERNUM][VERNUM];
void welcome();
void InitRoutData(FILE* pfile);
void PrintRoutData();
void SendInf(int recv, int send);
void Exchange();
int main(){
int start, end, i, j, m, n;
FILE *pfile;
welcome();
pfile = fopen(“1.txt”, “r”);
if(pfile == NULL)
{
printf(“the file wrong,press any key to come back.n”);
getch();
return;
}
else
InitRoutData(pfile);
fclose(pfile);
printf(“nthe original route table:n”);
for(i = 0;i { printf(“%c||”, i + 65); for(j = 0;j < VERNUM;j++) if(data[i][j].dis > 0) printf(“<%c %d> ”, j + 65, data[i][j].dis); printf(“n”); } PrintRoutData(); getch(); for(i = 0;i < VERNUM;i++) { for(m = 0;m < VERNUM;m++) for(n = 0;n < VERNUM;n++) data[m][n].flag = 0; Exchange(); PrintRoutData(); getch(); } printf(“nexchange the route table:n”); return 0;} void welcome(){ int gdriver=DETECT,gmode; registerbgidriver(EGAVGA_driver); initgraph(&gdriver, &gmode,“C:Win-TC”); cleardevice(); setbkcolor(CYAN); setviewport(0,0,639,479,1); clearviewport(); setbkcolor(BLUE); setcolor(14); rectangle(200,200,440,280); setfillstyle(1,5); floodfill(300,240,14); settextstyle(0,0,2); outtextxy(50,30,“Distance Vector Routing Algorithm”); setcolor(15); settextstyle(1,0,4); outtextxy(260,214,“Welcome to use!”); line(0,80,640,80); getch(); delay(300); cleardevice();} void InitRoutData(FILE* pfile){ char num[10]; int i = 0; char c; int m, n; fseek(pfile, 0, 0); for(m = 0;!feof(pfile)&& m < 7;m++) { for(n = 0;!feof(pfile)&& n < 7;n++) { while(!feof(pfile)) { c = fgetc(pfile); if(c == ',') { num[i] = '
主站蜘蛛池模板:
成人无码无遮挡很h在线播放|
国产精品久久国产精品99|
久久精品日日躁夜夜躁欧美|
粗大的内捧猛烈进出少妇|
精品国产乱码久久久久久1区2区|
无码福利一区二区三区|
国产真实乱对白精彩久久老熟妇女|
精品人妻人人做人人爽夜夜爽|
日韩国产亚洲欧美成人图片|
欧美日本国产va高清cabal|
国产精品边做奶水狂喷|
亚洲 小说 欧美 激情 另类|
日本欧美亚洲中文在线观看|
国产成人艳妇aa视频在线|
久久国产精品无码hdav|
亚洲精品制服丝袜四区|
亚洲制服无码一区二区三区|
亚洲av无码成人专区片在线观看|
女m羞辱调教视频网站|
老司机午夜永久免费影院|
成人无码视频|
日本高清色倩视频在线观看|
欧美乱妇日本无乱码特黄大片|
成人无码av一区二区|
国产又黄又大又粗视频|
中文字幕在线无码一区二区三区|
久久久久久亚洲精品成人|
国产高清无密码一区二区三区|
久久久久人妻一区精品色欧美|
亚洲aⅴ在线无码天堂777|
国产老熟女伦老熟妇视频|
日韩久久无码精品不卡一区二区电影|
亚洲熟妇av综合网五月|
国产精品视频观看裸模|
久久激情日本亚洲欧洲国产中文|
97人妻人人做人碰人人添|
久久好在线视频|
国产精品国产午夜免费看福利|
国产精品天干天干综合网|
中文字幕乱码人妻二区三区|
熟睡中被义子侵犯在线播放|