版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JSP序幕-I,套接字编程,课程状态,c #,SQL server,XML,pspm,ASP。NET,Oracle,OOAD,cc Ejb/web服务,winforms,struts/JSF,testing/sqa, 开发基于JSP EL和JSTL master MVC模式的Java web应用程序,本章中的相关术语,本章的目标,网络基础IP地址和端口包InetAddress Socket ServerSocket扩展IO流的知识,计算机网络和通信,以及通信是人类生活中最重要的要求之一。 通信是指传输语言、文字、声音、照片和所有其他类型的相关数据。计算机的出现和网络的配置使数据通信更快、更有效
2、。网络原理、网络是连接的计算机组。使用、网卡、电缆、集线器等连接设备连接计算机以形成网络。客户端/服务器模型、网络开发、客户端/服务器模型出现。通过网络从其他计算机请求服务的计算机称为客户端,处理请求的计算机称为服务器。需要数据的客户端系统(如数据服务器)向数据服务器发出请求,服务器处理客户端请求,然后发送所需的数据。客户端/服务器的优点是服务器和客户端分担工作,分别负责部分处理。服务器可以同时支持多个客户端。多个客户端可以同时访问服务器上的相同数据。IP地址,网络中有多台计算机,必须用特定的IP地址分隔每台计算机。这是IP地址。IP地址由4字节共32位二进制数组成,类似于192.168.0.
3、8。在网络上查找计算机都依赖于其IP地址。(通过域名或计算机名称查找主机实际上也是通过服务切换到IP地址后查找相应的主机。)网络ID:网络ID标识计算机或网络设备所在的网段。主机ID:主机ID保留用于特殊用途的特定主机或网络设备、特殊IP地址和许多网络地址。和是这两个地址。第一个称为基本路径,第二个称为环回地址。保留到用户主机的默认IP通信,并分配给作为闭环的回路接口的特殊接口。端口、物理计算机通常运行多个网络程序,端口是系统内部的唯一位置,因为一个IP地址不足以完全标识一台服务器。您可以在一台计算机上同时运行多个网络程序。IP地址可以确保将数
4、据传输到指定的计算机,但不能保证将数据传输到哪个网络程序。端口以16位数字表示,范围为065535,1024或更少的端口号保留给预定义服务,例如http使用80端口。网络之间的通信实际上是在网络应用程序端口之间进行的。套装软体、套装软体可让您实作Java的网路功能。它包含与网络通信相关的一系列类。更重要的是,internet地址套接字服务器套接字需要获取此包,以便进行网络通信编程。,InetAddress,InetAddress用于表示internet协议(IP)地址,该实例封装IP地址和主机名解析(DNS)。此类不能直接实例化,InetAddress示例,import .*;/导入软件包pu
5、blic class inetaddress demo public static void main(string args)try/获取当前本地主机的IP地址inet address add 1=inet address system/根据域名解析DNS域名,以确定该服务的主机地址inet address add 2=inet address . get by name();System.out.println(网络服务器主机:add 2);/根据字符串表示的IP地址获取相应的主机地址(如果网络上有相应的IP地址)。InetAddress Add3=InetAddress。getbynam
6、e(192 . 168 . 0 . 22);System.out.println(IP地址为2的主机:add 3);/根据计算机名称,相应的主机地址(如果网络中存在相应的计算机名称)inet address add 4=inet address . get by name(j104);System.out.println(机器名称为J104的主机:add 4);catch(unknownhostexception uhe)uhe . printstacktrace();InetAddress的其他方法、套接字和网络上的计算机通过TCP/IP协议进行通信,套接字(套接字)封
7、装这些通信协议。TCP/IP套接字用于在主机和internet之间建立稳定、双向、持续和点对点流连接。套接字用于描述应用程序通过套接字向网络发送请求或响应网络请求的IP地址和端口。换句话说,套接字充当通信端点。客户端和服务器通过套接字建立连接和通信。套接字通信原理,TCP/IP协议,网卡,网络管理软件,套接字,套接字常用的几种类型如下:由于网络连接中断,套接字出现故障,因此对此的操作可以抛出IOException、套接字的常用方法。成功创建套接字对象后,可以访问相关的输入/输出流,通过流操作从套接字中发送(输出)和接收(随时检查套接字地址和相关端口信息).ServerSocket、Server
8、Socket类用于创建本地或远程客户端程序通过公共端口连接的服务器套接字。ServerSocket类具有四种常用的重载配置方法:ServerSocket的常用方法包括:套接字编程,编写服务器端程序:创建要绑定到指定端口的服务器套接字(ServerSocket)。调用Accept方法接收来自客户端的请求,如果客户提出请求,则接受连接并返回通信套接字(套接字)。调用套接字的getInputStream和getOutputStream方法,以获取输入/输出流并开始接收和传输网络数据。关闭通信套接字,关闭服务器套接字。编写客户端程序:创建向服务器的侦听端口发出请求的套接字(套接字)。正确连接到服务器后
9、,调用Socket的getInputStream和getOutputStream方法获取输入/输出流,然后开始接收和传输网络数据。关闭通信套接字。,套接字编程图,服务器套接字(intport)、克隆()、克隆()、套接字(inet address address,intport)/创建服务器套接字System.out.println(服务器端已启动,正在等待客户端).);套接字s=ss . accept();/从客户端接收请求input stream in=s . getinputstream();/接收数据outputstreamout=s . getoutputstream();/获取用于
10、数据传输的输出流byte buf=new byte1024int len=in . read(buf);/从输入流读取数据string str from client=new string(buf,0,len);System.out.print(客户端信息);system . out . print ln(str from client);String strToClient=我也没事!out . write(strto client . getbytes();/输出流中的数据in . close();out . close();/关闭输入和输出流s . close();ss . close(
11、);/关闭通信套接字和服务器套接字System.out.println(关闭服务器端)。);捕获(io exception ioe)ioe . print stack trace();public static void main(string args)new server();、示例(客户端)、public class client private static finatic final int server _ port=9001;/服务器的侦听端口public Client() try /服务器也在内部运行,因此创建本机InetAddress对象inet address addres
12、s=inet address . get by name(lole)套接字s=new/向服务器侦听端口发送System.out.println请求(客户端已启动)。);input stream in=s . getinputstream();/接收数据outputstreamout=s . getoutputstream();/获取用于数据传输的输出流String strToServer=您好!out . write(strto server . getbytes();/将数据发送到输出流byte buf=new byte1024int len=in . read(buf);/从输入流读取数据
13、stringstrfromserver=new string(buf,0,len);System.out.print(服务器端响应);system . out . print ln(strfromserver);in . close();out . close();/关闭输入和输出流s . close();/关闭通信套接字System.out.println(客户端已关闭)。);catch(unknownhostexception nhe)system . out . print ln(找不到指定的主机).);捕获(io exception ioe)ioe . print stack trac
14、e();public static void main(string args)new client();对于、和I/o流,计算机系统将CPU和内存以外的所有设备视为文件。网络终端(网卡)也不例外。在两台主机之间通过套接字建立握手连接后,主要通过输入/输出流接收和传输数据。实际上,大多数网络操作都在操纵IO流。实际上,操作网络端口流与操作磁盘文件流的原理类似。为了提高效率,套接字使用字节流,但在实际操作中,字节通常会造成不便,因此通常在将字节流转换为字符流后对其进行操作。,输入,对于InputStream,首先使用InputStreamReader转换为字符流。然后使用BufferedRead
15、er创建缓冲区以提高效率,例如input streamis=socket . getinputstream();inputstreamreader ISR=new input stream reader(is);buffered reader in=new buffered reader(ISR);java.io.printwriter和printwriter是提供格式化输出功能的字符输出流。在配置方法的支持下,可以将字节流转换为字符流。配置方法有八种重载。以下是几种常用方法:PrintWriter的一般方法;附录:I/o流的继承系统;替代示例(代码片段);通过public class Client /字符流发送和接收网络数据sockets=net input stream is=s . get inputinputstreamrea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课程实施方案怎么写
- 大宗房屋修缮方案范本
- 《西安市既有建筑改造消防设计、审查验收技术指南》
- 小学数学二年级下册应用题专项练习(每日一练共11份)
- 高中地理(高三二轮复习)备课参考:聚焦“穿极之流”建构海水运动与海洋资源开发二轮复习专题
- 以礼待人服务暖家-小学三年级劳动“客人来了我招待”教案(2025-2026学年第二学期)
- 追问与启航:2026级高一文科生涯赋能主题班会教学设计
- 高中地理必修选择性必修1《常见天气系统》大单元教学设计(2026版课标导向)
- 高中地理选择性必修Ⅰ导学案:自然界的“调色板”-探寻陆地地域分异规律
- 行远自迩功不唐捐-高三(上)“惜时·积微”励志班会教学设计
- 【MOOC】《理性思维实训》(华南师范大学)章节期末慕课答案
- 《水质监测智能无人实验室建设与运维技术要求》
- 2025年财政资金监管“清源行动”自查报告
- 《焊条电弧焊》课件(共七章)
- 2026中远海运集团招聘考试参考题库及答案解析
- 高速路机电安全培训课件
- 医疗器械生产企业洁净区工作服管理规定
- 2025国铁集团考试题库及答案
- 老年健康饮食指导及食谱设计
- 中国科学院2025年科研项目聘用人员工作规范与考核协议
- 综合行政执法面试题及参考答案
评论
0/150
提交评论