版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、套接字信息流实验Xiaojie Zhou 2015.11.30套接字信息流实验实验预备知识实验要求实验所用方法说明传输层的作用一个实际生活中的例子假设同学A开着QQ,开着音乐在用浏览器上网主机有好几个能同时上网的应用程序,但是只有一两个网卡出口,这时候一个数据包从网卡过来怎么知道要给谁?传输层是什么?为运行在不同主机上的应用进程之间提供了逻辑通信的功能负责端到端(end-to-end)的逻辑上的传输套接字(socket)由于传输层是逻辑上的,因此无法通过物理上的设备进行模拟,只能通过软件这种同样逻辑的东西进行模拟由于从虚拟的角度看整个网络,由于传输层的出现居然使得远端的两台主机间的进程可以通信
2、了对于通信来说就一定有个发起方和接收方。由发起方发起通信,接收方接收。就跟打电话一样,总要有一个人完成拨号的工作发起通信的进程就好像是插头,接收进程就好像是插座,而传输层就像是一个人把插头插在了插座上,使得这连个进程可以接通了由此传输层上的程序我们称其为socket,其本意为“插座”,讲的就是这样一种关系套接字(socket)从传输层到网络层传输层的发送传输层在进行发送时最重要的是要保证接收主机的传输层知道这个数据包要给到那个进程就好比珠海发往东校的信件需要保证上面写了发给谁因此经过传输层到网络层的包在原来数据的基础上加上了一个传输层包头,这个包头里面包含了发送/接收端口这就好比写信件要写收件
3、人发件人传输层的接收在接收时会根据包头上说好的收件人发到对应的人手中从传输层到网络层端口与进程端口号是一个16位整数,取值0-65535,分为:知名端口号(01023):用于知名的应用层协议例如:80-HTTP协议,21-ftp 协议,23-telnet协议, 25-SMTP协议,110-POP3协议注册端口号(102449151):用于公司业务动态端口号(4915265535):用于临时连接端口如果没有被占用,用户可以随意使用要求知名端口号必须绑定对应协议的进程在cmd下打netstat可以看到哪些端口被占用端口与进程端口与进程两种重要的传输方式在传输层上传输方式分成了两派无连接传输不需要建
4、立连接直接发送,不需要接收方进行反馈说白了:发出去就完事代表协议:UDP代表应用:流媒体视频面向连接的传输先建立连接,收到后反馈有拥塞控制、可靠传输等一系列的机制代表协议:TCP代表应用:文件传输面向连接的传输无连接的传输套接字原语套接字信息流实验实验预备知识实验要求实验所用方法说明实验要求实现一个日期时间协议客户端从服务器的37号端口得到时间信息,并对时间进行解析后显示出来实现一个whois客户端从常用的whois服务器的43号端口得到对应域名的所有注册信息并显示出来实验要求对应whois服务器查询在 中输入域名即可得到该域名对应的whois服务器实验样例输出实现一个日期时间协议客户端实验样
5、例输出实现一个whois客户端套接字信息流实验实验预备知识实验要求实验所用方法说明实验所用方法说明本次我们需要编写的方法都在客户端,而且用的都是TCP方法,因此我们只需要实现下列流程图的内容即可Socket方法实验所用方法说明在java里面WSA setup,初始化socket和连接比起C要简单很多,只需要一个socket构造函数就可一步到位类名: .SocketSocket类中有以下常用的四个构造方法 .Socket.Socket(String host, int port) throws UnknownHostException, IOException .Socket.Socket(In
6、etAddress address, int port) throws IOException .Socket.Socket(String host, int port, InetAddress localAddr, int localPort) throws IOException .Socket.Socket(InetAddress address, int port, InetAddress localAddr, int localPort) throws IOException实验所用方法说明方法名: .Socket.Socket(String host, int port) thro
7、ws UnknownHostException, IOException原理:这个方法将创建一个指向指定主机上指定端口的TCP socket,并尝试连接远程主机。实验所用方法说明方法名: .Socket.Socket(InetAddress address, int port) throws IOException原理:这个方法相较于上一方法主要区别在于这里要求传入InetAddress类实验所用方法说明方法名: .Socket.Socket(String host, int port, InetAddress localAddr, int localPort) throws IOExcept
8、ion原理:这个方法相较于上一方法主要区别在于这里可以指定本机上的哪个IP地址和哪个端口与目的主机进行TCP socket连接实验所用方法说明类名: .SocketSocket类中有如下常用的查看方法进行目的主机和本主机连接时的端口号,IP地址的查看InetAddress .Socket.getInetAddress()int .Socket.getPort()InetAddress .Socket.getLocalAddress()int .Socket.getLocalPort()实验所用方法说明方法名InetAddress .Socket.getInetAddress()int .Soc
9、ket.getPort()InetAddress .Socket.getLocalAddress()int .Socket.getLocalPort()原理:进行目的主机和本主机连接时的端口号,IP地址的查看实验所用方法说明本次我们需要编写的方法都在客户端,而且用的都是TCP方法,因此我们只需要实现下列流程图的内容即可Socket方法getInputStream方法getOutputStream方法实验所用方法说明在TCP建立好连接之后客户机和服务器就可以对等地全双工地进行通信,因此对于一个客户机来说既需要发送数据,又需要接收数据因此在java里面有两个方法,分别负责接收从目的主机传过来的信息
10、和将信息发送给目的主机类名: .SocketInputStream .Socket.getInputStream() throws IOExceptionOutputStream .Socket.getOutputStream() throws IOException实验所用方法说明方法名:InputStream .Socket.getInputStream() throws IOException原理:返回一个输入流,这里面有通过套接字接收到的信息实验所用方法说明方法名:OutputStream .Socket.getOutputStream() throws IOException原理:返回一个输出流,这里面有通过套接字接收到的信息实验所用方法说明本次我们需要编写的方法都在客户端,而且用的都是TCP方法,因此我们只需要实现下列流程图的内容即可Socket方法getInputStream方法getOutputStream方法close方法实验所用方法说明由于TCP是面向连接的服务,因此在TCP通信结束后需要进行连接的释放。否则这个端口很大可能会一直占用。就跟打电话一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东中山市口腔医院第二期校园招聘备考题库含答案详解(完整版)
- 2026年4月四川西南医科大学附属医院招聘后勤保障部水电工1人备考题库附答案详解(研优卷)
- 2026长汀正元智慧城市建设运营有限公司招聘1人备考题库及完整答案详解1套
- 2026重庆市九龙坡区统计局统计调查公益性岗位招聘1人备考题库有完整答案详解
- 2029年中国科学技术大学地球和空间科学学院特任研究员招聘备考题库含答案详解ab卷
- 2026山东日照市消防救援支队政府专职消防队员招收备考题库及完整答案详解1套
- 2026安徽黄山市黄山区招引急需紧缺教育储备人才12人备考题库及答案详解(夺冠系列)
- 2026黑龙江牡丹江市海林市乡镇卫生院招聘医学毕业生4人备考题库及答案详解1套
- 2026广东江门市台山市部分学校进江西师范大学现场招聘教师8人备考题库含答案详解(研优卷)
- 2026中国疾病预防控制中心(中国预防医学科学院)后勤运营管理中心招聘1人备考题库及完整答案详解
- 2025年司法鉴定人资格考试考点题目及答案
- 2026年北京市海淀区高三一模英语试卷(含答案)
- 2026年上海市浦东新区司法局文员招聘2人考试备考题库及答案解析
- 类风湿关节炎晚期个案护理
- 2026年部编版道德与法治五年级下册全册教案(含教学计划)
- ERCP操作中患者体位管理
- 交通运输行业安全检查报告模板
- 2026年注册土木工程师(水利水电工程水工结构专业知识考试上)试题及答案
- 施工安全管理工作内容清单及范例
- 肿瘤的流行病学
- 2026全国肿瘤防治周宣传:健康生活筑基科学防癌护航
评论
0/150
提交评论