版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java网络编程网络基础Internet的形成和发展网络通信协议网络通信结构TCP/IPSocketJava Socket编程网络基础知识网络:把的外部设备用通信线路互连成一个规模宏大、功能强大的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源分布在不同地理区域的计算机与专门。计算机的联网可以实现:使用远程资源共享信息、程序和数据分布处理计算机网络分类按照网络规模和范围可以简单划分为:局域网(LAN,Local Area Network)都市网(MAN,Metropolis Area Network)广域网(WAN,Wide Area Network)按照网络
2、拓扑结构可以分为:星型网络、总线网络、环线网络、树型网络、星型环线网络等按照传输介质划分:双绞线、同轴电缆、光导纤维、视线介质等网络的几种工作模式专用服务器结构(Server-Based) 又称为“工作站文件服务器”结构,由若干台微机工作站与一台或多台文件服务器通过通信线路连接起来组成工作站存取服务器文件,共享存储设备。 例如:POS机客户机/服务器模式(clientserver) 其中一台或几台较大的计算机集中进行共享数据库的管理和存取,称为服务器,而将其它的应用处理工作分散到网络中其它微机上去做,构成分布式的处理系统。 对等式网络:(Peer-to-Peer)在对等式网络结构中,没有专用服
3、务器 每一个工作站既可以起客户机作用也可以起服务器作用。 Internet基础Internet的形成和发展:第一阶段(19691983):1969年,美国ARPANET诞生,用于将几个军事及研究用的主机联系起来。1983年,TCP/IP应用到ARPANET中,使得internet得以迅速发展。以ARPANET 为中心,组成新的互联网(internet),称为Internet。第二阶段(19831994):用于教育和科研领域的NSFNET(National Science Foundation Net)形成第三阶段(1994Now):Internet的商业化运作。网络通信协议/接口网络通信协议
4、计算机网络中实现通信必须有一些约定即通信协议,对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。 网络通信结构为了使两个结点之间能进行对话,必须在它们之间建立通信工具(即接口),使彼此之间 能进行信息交换。接口包括两部分:硬件装置:实现结点之间的信息传送 软件装置:规定双方进行通信的约定协议OSI的分层思想OSI:开放系统互连(Open System Interconnection),采用分层的结构化技术。分层的理由:将网络简化模块化的设计网络OSI参考模型(OSI/RM,Open System Interconnection/Reference Model)共分为7层,最高层为用
5、户层,最底层为物理层。OSI的七层模型表 示应 用会 话网 络传 输数据链路物 理TCP协议TCP协议为一种可靠的端对端协议:重发一切没有收到的数据,进行数据内容准确性检查并保证分组的正确顺序。TCP协议位于OSI参考模型的传输层表 示应 用会 话网 络传 输数据链路物 理TCP网络通讯协议在网络中的每台就算机都是一个节点.对于这些节点之间的交流,必须遵循有关节点之间都应该遵守的规则,这些所谓的规则就是“协议”就算机网络中要实现通讯必须有一些约定,就是通讯协议,对速率,传输代码,代码结构,传输控制步骤,出错控制等指定标准TCP协议TCP:传输控制协议.TCP协议是一种可靠的端对端协议.当一台就
6、算机需要和另外一条就算机通讯的时候,TCP协议会让他们之间建立一个连接,然后发送和接受数据,最后终止连接TCP协议利用重发技术,相引用程序提供可靠的通信连接.TCP会重发一切没有受到的数据,在接受数据时要进行确认并对数据进行排序,保证数据的完整性与正确性IP协议IP协议是网络上的计算机进行连接的基础IP协议是不可靠的:无论传送正确与否都不进行检验、不回送确认、不保证分组的正确顺序IP协议位于OSI参考模型的网络层表 示应 用会 话网 络传 输数据链路物 理IPTCP/IP协议TCP/IP:是Internet上不同系统之间互联的一组协议。它为分散和不同类型的硬件提供了一个通用的编程接口。TCP/
7、IP 协议使Internet尽可能成为一个分散、无序的网络。TCP/IP通常被看成一个4层模型:应用层、传输层、网络层以及数据链路层+物理层。OSI和TCP/IP的分层对应OSI 参考模型表 示应 用会 话网 络传 输数据链路物 理应 用网 络传 输物理+数据链路TCP/IP 参考模型数据的封装和拆封位于TCP/IP各个层的数据通常用一个公共的机制来封装:定义描述元信息和数据报的部分真实信息的报头的协议,这些元信息可以是数据源、目的地和其他的附加属性。来自于高层的协议封装在较低层的数据报中,当信息在不同的层之间传递时,都会在每一层重新构建一次。IP地址的分配IP地址的定义为了实现Interne
8、t上不同计算机之间的通信,每台计算机都必须有一个不与其它计算机重复的地址-IP地址IP地址是数字型的,32位(32bit),由4个 8位的二进制数组成,每8位之间用圆点隔开IP地址由网络标识(network id)和主机标识 (host id)组成,他们都包含在32位的二进制数据中IP地址被分成了A、B、C、D、E五类,每个类别的网络标识和主机标识各有规则。A类地址1Bits:0NNNNNNNHostHostHost891617242532Range (1-126)Class A: 用于大型的网络.A类地址中的最前面的一段用来表示“网络 标识”,并且该段的第一位必须是0.其余的3段标识主机标识
9、 A类地址的表示范围为:55B类地址110NNNNNNNetworkHostHost891617242532Range (128-191)Bits:Class B: 用于中型的网络.B类地址中的最前面的两段用来表示“网络 标识”,并且第一段8位二进制数的前两位必须是10. 后面的2 段标识主机标识 B类地址的表示范围为:191.255.255C类地址1110NNNNNNetworkNetworkHost891617242532Range (192-223)Bits:Class C: 用于小型的网络.C类地址中的最前面的三段用来表示“网络 标识”,并且第一段8位二进制数的前三位必须是110. 后
10、面的 一段标识主机标识 C类地址的表示范围为:223.255.255子网掩码子网掩码也是一个32位二进制数的地址,它用于屏蔽一部分IP地址,由此来区分网络标识和主机标识.网络标识地址部分对应的位置设置为1,主机标识部分对应的位置设置为0指定子网掩码安装如下的规则在实现 A类地址子网掩码: B类地址子网掩码: C类地址子网掩码: 端口(port)计算机与外界交流的出入口是一种抽象的软件结构,包括一些数据结构和I/O(基本输入/输出)缓冲区端口号可以从0到65535,通常将它分为三类:公认端口(Well Known Ports):从0到1023,它们紧密绑定(Binding)一些服务注册端口(Re
11、gistered Ports):从1024到49151。它们松散地绑定一些服务动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口在使用端口时,遵循如下的规则 1. 低于255:用于公认端口 2. 2551023 分配给公司用于商业的应用 3. 高于1023:没有限制 所以,如果建立自己的应用,都使用高于1023的端口 常见 TCP 端口和对应服务端口对应服务 7 Echo服务器21Ftp23telnet25SMTP79Finger80HTTPJava中的“ping”在命令行中,可以通过“ping host”的
12、方法得到指定主机的IP地址通过 中的InetAddress类,可以得到指定主机的IP地址(案例13-1)import .*;public class InetAddressTest public static void main(String args) try InetAddress ia = InetAddress.getLocalHost();String host = ia.getHostAddress();String hostname = ia.getHostName();System.out.println(ia + + hostname); catch (UnknownHost
13、Exception e) e.printStackTrace();Socket套接字(Socket ):计算机之间相互通讯的一种方式,表示一个系统的IP地址和端口号的结合。Socket大致位于OSI的会话层.作为会话层的一部分,Socket隐藏了数据流传输中的具体的过程.两个通讯的Socket会建立一个连接通道,然后在这个通道上通讯TCP/IP连接的一个端点用来处理两个流对象创建TCP Socket需要的四个信息:本地系统的IP本地应用程序使用的TCP端口号远程系统的IP远程应用程序相应的TCP端口号Java Socket编程 .Socket两个类用于建立一个双边的通信。ServerSocke
14、t等待来自客户端的连接,而Socket 连接到一个服务器端。ServerSocket类ServerSocket类用于侦听一个客户端的Socket连接,如果没有连接,它将一直等待。ServerSocket构造器:ServerSocket(int port):用指定的端口port来创建一个侦听SocketServerSocket(int port,int backlog):加上一个用来改变连接队列长度的参数backlog。ServerSocket(int port,int backlog,InetAddress localAddr):在机器存在多个 IP地址的情况下,允许通过localAddr这个
15、参数来指定侦听的IP地址。ServerSocket方法:Socket accept()close()Socket类Socket类构造器Socket()Socket(InetAddress address, int port)Socket(InetAddress address, int port, InetAddress localAddr, int localPort) Socket(String host, int port)protected Socket(SocketImpl impl) Socket(String host, int port, InetAddress localAd
16、dr, int localPort) Socket方法:getInputStream()getOutputStream()close()Socket通信模型Server端ServerSocket s (port #)s.accept()/等待连接SocketOutputStreamInputStreamsocket.close()Client端Socket (host, port #)(试图连接)OutputStreamInputStreamsocket.close()Socket通信例子(案例13-2)ServerSocket server = new ServerSocket(1234);Socket sk = server.accept();BufferedReader br = new BufferedReader(new InputStreamReader(sk.getInputStream();System.out.println(br.readLine();br.close();server.close();Socket通信例子(con.)Socket client;PrintStream ps;tryclient = new Socket(localhost,1234);Sys
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 果蔬加工设备租赁服务合同
- 2026年气象灾害防御培训总结发言稿
- 电脑编程培训合同
- 导游服务合同范本样本2026
- 2026年行政问题自动应答机器人
- 书道馆2026年书法艺术鉴赏活动协议
- 2026年幼儿园安全管理制度学习讲稿
- 2026年加油站新员工入职安全培训
- 生态化生态保护补偿协议
- 2026年舞蹈工作室店长市场推广与引流培训
- 《2和5的倍数的特征》课件(省一等奖)
- 2023年度上海市教师招聘考试《中学生物》押题卷(含答案)
- 滨州科技职业学院辅导员考试题库
- 教师因两地分居调动工作申请书
- 游岳阳楼记带翻译
- GB/T 10592-2023高低温试验箱技术条件
- CB马达安装维护手册中文
- 2023年道县小升初英语考试题库及答案解析
- JJG 693-2011可燃气体检测报警器
- JJG 1148-2018电动汽车交流充电桩
- GB/T 18707.1-2002机械振动评价车辆座椅振动的实验室方法第1部分:基本要求
评论
0/150
提交评论