tcpip协议分析实验指导书

tcpip协议分析实验指导书

ID:12347039

大小:603.50 KB

页数:18页

时间:2018-07-16

tcpip协议分析实验指导书_第1页
tcpip协议分析实验指导书_第2页
tcpip协议分析实验指导书_第3页
tcpip协议分析实验指导书_第4页
tcpip协议分析实验指导书_第5页
资源描述:

《tcpip协议分析实验指导书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《TCP/IP协议分析》课程实验指导书实验1TCP套接字编程实验实验目的:熟悉基于java的TCP套接字网络编程方法;熟悉TCPClient套接字编程流程;熟悉TCPServer套接字编程流程;熟悉javaTCP套接字编程涉及的java类;实验任务:实现一个基本的TCP套接字Client/Server模式的网络应用系统,该系统中服务器端监听网络,接受客户端的连接请求,并接收客户端发送的数据,并原封部分的发回给客户端。即实现一个类似于Echo服务的服务器程序。指导说明:1.TCP客户端基本编程流程1.1TCP客户端工作流程1.创

2、建流套接字向远程服务器发起连接请求;2.获取套接字字节流与远程服务器进行数据通信;3.通信完毕,关闭套接字;1.2基于Java的TCP客户端编写基本步骤说明基于Java的TCP客户端会使用下述类或接口:Socket、InetAddress、InputStream、OutPutStream等,基本上这些可能在JavaTCP客户端程序中使用的类大致会包含于下述常用的Java库文件中:java.net.*、java.io.*、java.util.*等。因此编写该TCP客户端类时,最好事先将需要使用的类所包含于的库文件引入所正在编写的

3、java类文件的开头,当然也可以在事后添加。1.2.1在TCP客户端的java源文件开头引用java库文件importjava.net.*;importjava.io.*;这里介绍的一个最基本的TCP客户端程序中基本就只会使用上述java库文件中所包含的类了。大家可以根据编写的程序的需要,视情况引入更多的java库文件。1.2.2与远程服务器端发起TCP连接请求TCP客户端要完成与远程服务器的TCP连接的工作,需要做以下几件事情:l设定TCP服务器程序所运行的计算机网络接口地址(IP地址);l设定TCP服务器程序所监听的网络端

4、口号;l向远程TCP服务器程序发起TCP连接请求;看似很多事情,其实在java中编程完成这些事情,相当简单。通常情况下,如果要连接某个远端服务器程序,那必然要知道该服务器程序所运行的主机IP地址或者该主机名。那么就可以通过运行该服务器程序的主机IP或主机名来在TCP客户端程序中构造一个InetAddress类对象实例。比如:主机IP=192.168.111.123;主机名=whpucomputerInetAddressserverIP=InetAddress.getByName(“192.168.111.123”);或Inet

5、AddressserverIP=InetAddress.getByName(“whpucomputer”);光知道远程服务器程序所运行的主机地址还不够,TCP客户端程序还需要知道远程服务器程序所监听的端口号,通常在编程时端口号是一个整型数据。比如:该远程服务器程序所监听的端口号为:8888。知道了远程服务器程序所运行于的主机地址和其所监听的端口号后,就可以使用Socket类发起与远程服务器程序建立TCP连接的请求了,具体代码如下:Socketclientsock=newSocket(serverIP,8888);上面代码复制符

6、右端的Socket方法如果成功返回,那么就会返回一个Socket类对象的引用给Clientsock,在之后的程序中就可以使用这个Socket类对象引用来完成与远程服务器程序的通信工作了。不过,该段代码有个比较明显的问题:8888(端口号)被硬编码到代码中,这是一个不好的编程习惯。具体如何跟好的设置端口号,后面整体说明时进行解释。到此,TCP客户端编写发起向TCP服务器程序的TCP连接请求的代码就完成了,整体代码大致如下所示:InetAddressserverIP=InetAddress.getByName(“whpucompu

7、ter”);Socketclientsock=newSocket(serverIP,8888);1.2.3与远程TCP服务器程序进行通信基于java的TCP套接字程序中,与远程网络程序进行通信主要使用的是Socket类中的两个类成员InputSteam和OutputStream这两个字节流对象。获取这两个Socket类的成员需要使用Socket类提供的两个方法:getInputStream和getOutputStream。在前面介绍的代码中,假设已经成功与远程服务器程序建立了一个TCP连接,并获取了一个Socket类对象的引用

8、。那么获取InputStream和OutputStream的对象的代码如下:InputStreamin=clientsock.getInputStream();OutputStreamout=clientsock.getOutputStream();在java中使用文件流一般

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。