ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:68.42KB ,
资源ID:8006927      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8006927.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机网络实验8.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机网络实验8.docx

1、计算机网络实验8学生学号实验课成绩武汉理工大学学 生 实 验 报 告 书实验课程名称 计算机网络 开 课 学 院 计算机科学与技术学院 指导老师姓名 * 学 生 姓 名 * 学生专业班级 * 2010 2011 学年 第 二 学期实验课程名称: 计算机网络 实验项目名称求MAC地址实验成绩实验者#专业班级#组别同组者实验日期 年 月 日第一部分:实验分析与设计(可加页)一、 实验内容描述(问题域描述)1、实验目的 1.1了解以太网帧的构成,了解各个字段的含义 1.2能够识别不同的MAC地址,并理解MAC地址的作用2、实验要求 2.1获取本地MAC地址 2.2获取无线网络的MAC地址二、 实验基

2、本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)1、实验原理在命令提示符下输入ipconfig/all可以得到本地和无线网络的MAC地址,因此可以用一个进程调用此命令,然后通过字符串的匹配得到相应的字段,按MAC地址的格式输出2实验步骤2.1getLocalMACAddress函数调用一个process执行ipconfig/all,匹配Ethernet adapter 本地连接,得到本地MAC地址2.2getWirelessNetworkMACAddress函数调用一个process执行ipconfig/all匹配Ethernet adapter 无线网络连

3、接,得到无线网络MAC地址2.3在main函数中调用getLocalMACAddress函数和getWirelessNetworkMACAddress函数,输出本地MAC地址和无线网络MAC地址3、主要仪器设备及耗材1、微机2、NetBeans IDE 6.5.13、WPS文字第二部分:实验调试与结果分析(可加页)一、 调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)1、开始-运行-cmd-ipconfig/all2、启动NetBeans IDE 6.5.1-运行getMAC包下的get2mac二、 实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分

4、析和结论等)1、命令提示符下的本地MAC地址和无线网络MAC地址2、Java程序得到的本地MAC地址和无线网络MAC地址3、结果分析Java程序所求的本地MAC地址和无线网络MAC地址与命令提示符下得到的MAC地址相同三、 实验小结、建议及体会此实验的原理就是调用进程执行命令提示符下的命令和字符串的匹配,用这种方法还可以得到ip、mask、gateway、DHCP server和DNS server。附(源代码)package socket;import java.io.BufferedReader;import java.io.IOException;import java.io.Input

5、StreamReader;public class get2mac /本地MAC地址 public static String getLocalMACAddress() String localmac = null; BufferedReader bufferedReader = null; Process process = null; try process = Runtime.getRuntime().exec(ipconfig /all);/ windows下的命令,显示信息中包含有mac地址信息 bufferedReader = new BufferedReader(new Inpu

6、tStreamReader(process.getInputStream(); String line = null; int index = -1; while (line = bufferedReader.readLine() != null) if (line.indexOf(Ethernet adapter 本地连接)=0) /寻找标示字符串以太网适配器 while (line = bufferedReader.readLine() != null) index = line.indexOf(Physical Address);/ 寻找标示字符串physical address if

7、(index = 0) / 找到了 index = line.indexOf(:); / 寻找:的位置 if (index=0) localmac = line.substring(index + 1).trim();/ 取出mac地址并去除2边空格 break; catch (IOException e) e.printStackTrace(); finally try if (bufferedReader != null) bufferedReader.close(); catch (IOException e1) e1.printStackTrace(); bufferedReader

8、= null; process = null; return localmac; /无线网络连接的物理地址: public static String getWirelessNetworkMACAddress() String wirelessmac = null; BufferedReader bufferedReader = null; Process process = null; try process = Runtime.getRuntime().exec(ipconfig /all);/ windows下的命令,显示信息中包含有mac地址信息 bufferedReader = ne

9、w BufferedReader(new InputStreamReader(process.getInputStream(); String line = null; int index = -1; while (line = bufferedReader.readLine() != null) if (line.indexOf(Ethernet adapter 无线网络连接)=0) /寻找标示字符串以太网适配器 while (line = bufferedReader.readLine() != null) index = line.indexOf(Physical Address);/

10、寻找标示字符串physical address if (index = 0) / 找到了 index = line.indexOf(:); / 寻找:的位置 if (index=0) wirelessmac = line.substring(index + 1).trim();/ 取出mac地址并去除2边空格 break; catch (IOException e) e.printStackTrace(); finally try if (bufferedReader != null) bufferedReader.close(); catch (IOException e1) e1.prin

11、tStackTrace(); bufferedReader = null; process = null; return wirelessmac; public static void main(String argc) String localmac = getLocalMACAddress(); System.out.println(本地MAC地址是:+localmac); String wirelessmac = getWirelessNetworkMACAddress(); System.out.println(无线网络MAC地址是:+wirelessmac); 实验课程名称: 计算机

12、网络 实验项目名称客户端与服务器端通信实验成绩实验者#专业班级#组别同组者实验日期 年 月 日第一部分:实验分析与设计(可加页)一、 实验内容描述(问题域描述)1、实验目的1.1理解套接字(socket)通信的基本原理和机制1.2理解进程间通信的机制。2、实验要求:2.1分别编写客服端和服务器端代码,建立客户端与服务器端之间正确的socket连结。2.2客服端或服务器端输入end时,结束通信。二、 实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)1、实验原理本实验的通信模式为C/S模式,即在一个线程中一个进程处理C(client客服端),另一个进程处理

13、S(server服务器端)。2、实验步骤2.1 ServerSocket server负责当前线程中C/S通信中的Socket对象的服务器端2.2 ServerSocket client负责当前线程中C/S通信中的Socket对象的客服器端2.3在server和client中对每一条输入与end匹配,相同时程序结束。不同时可以继续进行通信3、主要仪器设备及耗材1、微机2、NetBeans IDE 6.5.1第二部分:实验调试与结果分析(可加页)一、 调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)启动NetBeans IDE 6.5.1-运行socket包下的se

14、rver-运行socket包下的client二、 实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)1、运行serverserver输出2、运行client2.1 client输出2.2 server输出3、client端输入“你好,能收到信息吗”,回车3.1 client端输出3.2 server端输出4、server端输入“能”,回车4.1 server端输出4.2client端输出5、客户端输入“end”,回车5.1 client端输出5.2server端输出三、 实验小结、建议及体会这个实验在本机上用两个进程分别模拟客服端和服务器端,用socket通信。通过这

15、个实验我理解了进程间通信的机制,要想进行远程通信,还必须再改进。源代码)/服务器端代码package socket;import .ServerSocket;import .Socket;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;public class MyServer impleme

16、nts Runnable ServerSocket server=null; /负责当前线程中C/S通信中的Socket对象 Socket clientSocket; /标记是否结束 boolean flag=true; /向客户端发送信息的线程 Thread ConnenThread; /输入流对象 BufferedReader sin; /输出流对象 DataOutputStream sout; public static void main(String args) MyServer MS=new MyServer(); MS.ServerStart(); public void Ser

17、verStart() try server=new ServerSocket(5678); /建立监听服务 System.out.print(端口号:+server.getLocalPort(); while(flag) clientSocket=server.accept(); System.out.print(连接已建立完毕!); InputStream is=clientSocket.getInputStream(); sin=new BufferedReader(new InputStreamReader(is); OutputStream os=clientSocket.getOut

18、putStream(); sout=new DataOutputStream(os); ConnenThread=new Thread(this); ConnenThread.start(); /启动线程,向客户端发送信息 String aline; while(aline=sin.readLine()!=null) /从客户端读入信息 System.out.println(aline); if(aline.equals(end) flag= false; ConnenThread.interrupt(); /线程中断 break; sout.close(); /关闭流 os.close();

19、 sin.close(); is.close(); clientSocket.close(); /关闭Socket连接 System.exit(0); /程序运行结束 catch(Exception e) System.out.print(e); public void run() while(true) try int ch; while(ch=System.in.read()!=-1) /从键盘接收字符并向客户端发送 sout.write(byte)ch); if(ch=n) sout.flush(); /将缓冲区内容向客户端输出 catch(Exception e) System.out

20、.println(e); public void finalize() /析构函数 try server.close(); /停止ServerSocket服务 catch(IOException e) System.out.println(e); /客服端代码package socket;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;impor

21、t .Socket;public class MyClient implements Runnable Socket clientSocket; boolean flag=true; /标记是否结束 Thread ConnenThread; /用于向服务器端发送信息 BufferedReader cin; DataOutputStream cout; public static void main(String args) new MyClient().ClientStart(); private void ClientStart() try /连接服务器端,这里使用本机 clientSock

22、et=new Socket(localhost,5678); System.out.print(已建立连接!); while(flag) /获取流对象 InputStream is=clientSocket.getInputStream(); cin=new BufferedReader(new InputStreamReader(is); OutputStream os=clientSocket.getOutputStream(); cout=new DataOutputStream(os); ConnenThread=new Thread(this); ConnenThread.start

23、(); /启动线程,向服务器端发送信息 String aline; while(aline=cin.readLine()!=null) /接收服务器端的数据 System.out.println(aline); if(aline.equals(end) flag= false; ConnenThread.interrupt(); break; cout.close(); os.close(); cin.close(); is.close(); clientSocket.close(); /关闭Socket连接 System.exit(0); catch(Exception e) System.

24、out.println(e); public void run() while(true) try int ch; while(ch=System.in.read()!=-1) cout.write(byte)ch); if(ch=n) cout.flush(); catch(Exception e) System.out.println(e); import java.io.*;import .*;public class Talkserver public static void main(String args) try ServerSocket server = null; tryse

25、rver = new ServerSocket(4700); catch(Exception e)System.out.println(can not listen to: + e); Socket socket = null; trysocket = server.accept(); catch(Exception e) System.out.println(Error: + e); String line; BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream(); Buffer

26、edReader sin = new BufferedReader(new InputStreamReader(System.in); PrintWriter os = new PrintWriter(socket.getOutputStream(); System.out.println(Client: + is.readLine(); System.out.print(you :); line = sin.readLine(); while (!line.equals(bye) os.println(line); os.flush(); /System.out.println(Server

27、: + line); System.out.println(Responds: + is.readLine(); System.out.print(you :); line = sin.readLine(); is.close(); os.close(); socket.close(); server.close(); catch(Exception e) System.out.println(Error + e); D:socketTalkclient.java源代码:import java.io.*;import .*;public class Talkclient public static void main(String args) try Socket socket = new Socket(127.0.0.1,4700); BufferedReader sin = new BufferedReader(new InputStreamReader(System.in); PrintWriter os = new PrintWriter(so

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1