第一篇:計算機網絡編程實習1
實驗1——JAVA Socket編程處理初步
實驗目的:熟悉JAVA Socket編程基礎知識
實驗內容:掌握JAVA網絡編程的Socket地址類和Socket類的使用,了解JAVA輸入輸出流的使用。編寫一對客戶端-服務器通信程序。
實驗要求:
1、了解JAVA中地址表示的幾種方法,掌握Socket編程中地址相關的類
(InetAddress和NetworkInterface)的使用方法:編寫程序完成下述功能:
1.在標準輸出羅列本機所有網絡接口
2.在標準輸出給出“本地回環地址”的網絡接口的名稱
3.判斷本機所有網絡接口中哪些可以到達baidu.com2、在本機創建一個臨時目錄,并在其中創建2-3個文本文件(文件名任意填
寫)。編寫客戶端服務器程序。完成以下功能:
? 編寫一個TCP服務端程序,實現下述功能:
1.偵聽2010端口,等待客戶端連接;
2.當客戶端連接創建之后,讀取客戶端消息,按照以下規則分別執行相應操作:
? 消息==list, 則將剛創建的臨時目錄中的文件名以換行字符(n)
分隔,傳輸給客戶端;
? 消息以echo為前綴,則將echo后的字符作為內容傳輸給客戶端;
? 消息==close,則關閉與客戶端的連接;
? 其他情況,傳輸UNKNOWN Commands給客戶端;
3.處理完客戶端消息,并且客戶端連接尚未關閉,則繼續等待客戶端輸入,回到上述第二步;
? 編寫一個TCP客戶端程序,實現下述功能:
1.連接服務端程序(2010端口)
2.如果連接建立成功,轉第4步
3.如果連接失敗,在標準輸出打印“Connection Failed.”,并退出程序;
4.從標準輸入讀取用戶輸入,將用戶輸入傳輸給服務端
5.如果用戶輸入是close,是則關閉與服務端連接,并在標準輸出打印“Connection Closed”,退出程序;否則,轉下一步
6.讀取服務端消息,將消息打印至標準輸出;轉4步。
3、撰寫實驗報告并附上所用程序和結果。
2013-5-3
第二篇:計算機網絡實驗報告(路由算法、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] = '
主站蜘蛛池模板:
久久精品国产99久久久小说|
国产欧美在线亚洲一区|
天天躁日日躁狠狠躁av中文|
成人亚洲精品久久久久软件|
亚洲中文字幕人成影院|
成年女人免费视频播放体验区|
极品无码国模国产在线观看|
国产精品久久二区二区|
最新国产99热这里只有精品|
国产乱子伦一区二区三区|
亚洲另类丝袜综合网|
亚洲一卡2卡新区国色天香|
国产午夜无码片在线观看影视|
永久免费不卡在线观看黄网站|
欧美人与动牲交zooz男人|
丰满少妇aaaaaa爰片毛片|
69精品丰满人妻无码视频a片|
99精品国产在热久久无码|
亚洲中文字幕日本在线观看|
精品国产精品久久一区免费式|
亚洲欧美中文字幕日韩一区二区|
可以直接看的无码av|
日本高清一二三不卡区|
成人午夜精品无码区久久|
狠狠色婷婷久久一区二区|
免费看又色又爽又黄的国产软件|
国产精品成人一区二区三区视频|
人人超碰人人超级碰国|
久久精品动漫一区二区三区|
少妇裸交aa大片|
人妻少妇久久中文字幕456|
在线播放真实国产乱子伦|
久久综合色一综合色88欧美|
久久偷看各类wc女厕嘘嘘偷窃|
人妻少妇精品无码专区动漫|
手机在线看片|
粉色午夜视频|
国产一卡二卡三新区2022|
免费无码a片一区二三区|
人人妻人人澡人人爽欧美一区|
无码精品人妻一区二区三区免费看|