实验05 TCP Socket精品.docVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一.本实验目的及要求: 掌握TCP/IP体系结构中端口、套接字、TCP协议概念。理解什么是SAP、端口的范围划分、套接字的组成等概念,掌握TCP传输模式和netstat命令的用途; 掌握TCP SOCKET的ServerSocket和Socket;学习为TCP服务的 Socket和ServerSocket类的使用,掌握TCP连接的方法,服务器接收客户端连接请求的方法,创建输入/输出流的方法,传输数据的方法,以及关闭流和套接字,注意可能会出现的异常操作; 理解进程和线程的概念,掌握TCP SOCKET技术中多线程技术,理解JAVA中的动态数组的内容。 实验报告内容应包括,本实验的第三、四、五部分的答案,以及第六部分的程序后要求。 二、基础知识 1. TCP协议 TCP是一种面向连接的、可靠的、基于字节流的运输层(Transport layer)通信协议。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,UDP是同一层内另一个重要的传输协议。 TCP所提供服务的主要特点面向连接的传输;端到端的通信;高可靠性,确保传输数据的正确性,不出现丢失或乱序;全双工方式传输;采用字节流方式,即以字节为单位传输字节序列;紧急数据传送功能文件传送File Transfer远程登录Remote login计算机邮件Mail网络文件系统(NFS)远程打印(Remote printing)远程执行(Remote execution)名字服务器(Name servers)终端服务器(Terminal servers)16bit ,取值范围0~65535,它用于存储本地软件进程,所以仅具有本地意义。通常,端口分为:熟知端口,取值范围0~1023,为常用应用进程指定的固定值;一般端口,取值范围1024~49151,供一般程序使用;动态端口:49152~65535供某些默认服务使用,如表1所示。 表1 常用进程和熟知端口 echo 7 验证2台计算机连接有效性 daytime 13 服务器当前时间文本描述 ftp 20/21 21用于命令,20用户数据 telnet 23 远程登录 smtp 25 邮件发送 whois 43 网络管理的目录服务 dns 53 域名解析 tftp 69 小文件传输 finger 79 主机用户信息 http 80 HTTP pop3 110 邮局协议 nntp 119 网络新闻传输协议, 发布Usenet新闻 snmp 161 网络管理协议 rip 520 路由协议 3. 套接字 套接字Socket原意是 “插座”,简单的说就是参与通信两方的一种约定,用套接字中的相关函数来完成通信过程。为了区分不同应用程序进程间的网络通信和连接,主要使用3个参数:通信的目的IP地址、使用的传输层协议(TCP或UDP)和使用的端口号,通过将这3个参数结合起来,与一个Socket绑定,应用层就可以和传输层通过套接字接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。通常的表示方式为:SOCKET=(传输协议,IP,Port)。 4 . Netstat NetStat是DOS命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息.Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 可以通过执行Netstat /help获得该应用程序选项的相关帮助。 在Java语言中,实现TCP 套接字中有两个基础类,分别为: Socket类: 建立一个客户端标识 ServerSocket类: 建立一个服务器端标识 5. ServerSocket 该类实现服务器socket,一个服务器socket等待网络上的连接请求。通常操作都是基于这个请求,并且会返回一个结果给请求连接者,其类描述如图2所示。 图2 ServerSocket类描述 ServerSocket构造方法有: ServerSocket() 创建一个空的服务端socket; ServerSocket(int?port) 在指定端口创建一个服务端socket,; ServerSocket(int?port, int?backlog) 在指定端口创建一个服务端socket和日志; ServerSocket(int?port, int?backlog, InetAddress?bindAddr) ?在指定端口和地址上创建一个服务端socket和日志。 6. Socket 该类实现一个客户端socket,这个socket表示在通信的两台设备之间的端点,其类描述如图3所示。 图3 Socket类描述 Socket

您可能关注的文档

文档评论(0)

挑战不可能 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档