版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 26 天网络编程回顾:网络模型有两种:OSI(开放互连)、TCP网络通讯三要素:1、IP 地址IP 地址:InetAddress 封装类2、端3、协议协议:数据报文协议(UDP)、传输控制协议(TCP)第 26 天授课内容1、DatagramSocket 对象介绍 (掌握)2、TCP 通信过程介绍 (了解)3、TCP 客户端和服务端实现 (掌握)4、文件上传 (掌握)5、CS 和 BS 结构的异同 (了解)1、DatagramSocket 对象的使用协议:UDP、TCPUDP:数据报文协议。特点:面向无连接、传输速度快、传输数据不安全、传输数据必须在64K 以内UDP 协议在计算机中是存在
2、,而对于存在的事物,java 语言会进行封装:DatagramSocketSocket?(网卡接口)可以把 Socket 看成 ”码头” 的意思。 利 IO 流把 2 进制数据从一个网卡端传输到另一个网卡端DatagramSocket 类用来发送数据报包的方法DatagramSocket 类用来接收数据报包的方法:案例:实现 UDP 协议的传输思路:注意:需要先运行服务端代码,再运行客户端代码想要实现 UDP 协议的数据传输,需要使用 DatagramSocketDatagramSocke 即可以接收数据报包, 还可以发送数据报包。需要创建两个DatagramSocke 对象,一个用来发送数据
3、报包(客户端),另一个用来接收数据报包(服务端)客户端代码实现:服务端代码实现:2、TCP 通信过程介绍TCP 协议:面向有连接、需要经过三次握手之后在建立了连接通道后才可以进行数据的交互、传输数据安全、传输数据比较慢、传输数据没有大小限定想实现 TCP 协议数据传输,需要编写两端:客户端、服务端3、TCP 客户端和服务端实现3.1TCP 客户端和服务端的简单实现TCP 协议通信需要实现客户端程序和服务端程序。客户端 :Socket向服务端建立连接,连接通道建立成功后,可以发送数据或接收服务端回送的数据使用 OutputStream 对象中的 write()方法向服务端发送字节数据服务端:Se
4、rverSocket服务端接收客户端发送的数据,使用输入流对象中的 read()方法案例:TCP 客户端和服务端的数据交互客户端代码实现:服务端代码实现:3.2客户端通过键盘录入向服务端发送数据案例:客户端接收录入一行的数据,并发送给服务端,服务把数据转为大写后,回送给客户端分析:客户端需要接收键盘录入的一行数据,需要使用 BufferedReader 接收一行字符串BufferedReader 属于字,System.in 获取到字节流,需要使用转换流解决客户端代码:以上程序中在使用 read()接收客户端发送的数据或接收服务端回送的数据时,该方到阻塞状态,造成程序的运行暂停。进入解决方案:1
5、、把字节流封装到一个字收一行字符串中,客户端向服务端发送一行字符串,服务端接2、不使用 while 循环的方式接收数据服务端代码:注意:客户端的输入、输出流对象,需要在最后运行完所有功能后,才关闭3.3使用 PrWriter 改进 TCP 客户端服务端PrWriter:是打印流。向文件、控制台、网络中输出各种数据特点:1、 可以输出基本类型数据2、 只能进行输出操作,没有操作3、 打印流可以开启自动刷新。(前提:当开启自动刷新后,只有调用 prf、prln、format方法后才自动刷新)案例:把之前书写的程序使用 PrWriter 对象改进客户端:服务端:注意:使用客户端对象获取到的字节输入流
6、和字节输也流对象,都可以封装到功能流或字缓冲区对象中3.4解决服务端并发问题之前,书写的程序只能实现一个客户端向服务端发送请求数据,并不能同时存在多个客户端并发的向服务端发送数据案例:改进之前的程序,添加多线程解决服务端并发客户端代码实现:服务端代码:4、文件上传4.1文件上传简单实现文件上传,在开发中属于最常见的一种技术。把客户端的文件上传上服务端案例:文件上传的简单实现客户端:找到本地中的某个文件,使用输入流找到的文件,把到的文件中的数据发送给服务端(边读边发送数据给服务端)服务端:需要在服务端创建一个用来保存客户端上传的文件。服务端接收客户端发送过来的数据,写入到指定的文件中(边接收边写
7、入)4.2文件上传实现&并发实现通常在开发中,当文件上传结束后,服务端会给客户端一个回馈信息(告诉客户端文件上传成功)案例:改进的文件上能客户端代码:之前,书写的文件上的程序是没有解决并发问题案例:文件上传并发实现(需要修改服务端的程序代码)客户端代码:服务端代码:服务端代码:4.3练习:上传(作业,要求有并发)练习:上传,实现并发上传5、CS 和 BS 结构的异同CS 结构:客户端/服务端C 表示:Cnt(客户端) S 表示:Server(服务端)特点:需要编写两个程序,一个为客户端,一个为服务端好处:因为有两个程序在同时运行,所以就可以把服务端的一些代码放在客户端提前执行,这样做的好处:可以减轻服务端的压力弊端:开发时,需要开发两个程序(不方便),会造成开发本成高、开发周期长、后期CS 结构现被 B/S 结构代替BS 结构:浏览器/服务端(基于网页开发的)B 表示:Browser(浏览器)通常是由第公司提供。常用:IE、谷歌、火狐S 表示:Server(服务端)特点:只需要开发服务端程序好处:因为只需要开发一端程序(护也相对方便一些),开发成本降低、开发周期缩短、后期的维弊端:因为只有一端程序在运行,所有的压力都在服务端(服务端压力比较大)课后作业前言作业:1, 整理当天讲解的知识点(按着重点去整理)2, 把课堂上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025内蒙古锡林郭勒盟锡林浩特市美团招聘166人笔试历年难易错考点试卷带答案解析
- 2025内蒙古西部天然气蒙东管道有限公司招聘20人笔试历年难易错考点试卷带答案解析
- 2025内蒙古呼和浩特春华水务开发集团有限责任公司招聘拟录用人员笔试历年备考题库附带答案详解
- 2025内蒙古兴安铜锌冶炼有限公司招聘15人笔试历年常考点试题专练附带答案详解
- 2025兴业银行深圳分行校园招聘笔试历年典型考题及考点剖析附带答案详解
- 2025兴业银行太原分行校园招聘笔试历年典型考题及考点剖析附带答案详解
- 2025亳州蒙城湖商村镇银行股份有限公司招12人笔试历年典型考题及考点剖析附带答案详解
- 2025下半年广东茂名市高州市市属国有企业招聘企业人员笔试历年备考题库附带答案详解
- 写字楼办公园区建设项目交通影响评价
- 生态茶园项目使用林地可行性报告
- 浙江省2023年7月普通高中学业水平考试(学考)化学试题(解析版)
- 大中型灌区管理手册-参考本
- 初中生物教育教学典型案例分析(3篇模板)
- 城市道路照明设计标准 CJJ 45-2015
- 《养老护理员》-课件:协助老年人穿脱简易矫形器
- 汽车式起重机作业安全管理
- 【徐福记食品公司盈利能力分析案例报告10000字】
- 《集装箱结构》课件
- 端午节里话香囊课件
- 微灌工程技术规范2020
- 2022年江苏省徐州医药高等职业学校工作人员招聘考试真题
评论
0/150
提交评论