Java程序设计教程第11章 接 口
- 格式:pptx
- 大小:383.35 KB
- 文档页数:28
课程大纲1、网络编程基本概念2、网络编程TCP协议3、TCP ECHO实现程序4、服务器与多客户端通信5、多客户端之间的通信6、网络编程UDP协议7、URL1、网络编程基本概念网络编程基本概念1、什么是计算机网络把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。
2、计算机网络的主要功能资源共享信息传输与集中处理均衡负荷与分布处理(/综合信息服务(www/综合业务数字网络ISDN)等1、网络编程基本概念网络编程基本概念3、网络通信协议要使计算机连成的网络能够互通信息,需要对数据传输速率、传输代码、代码结构、传输控制步骤、出错控制等制定一组标准,这一组共同遵守的通信标准就是网络通信协议,不同的计算机之间必须使用相同的通讯协议才能进行通信。
网络通信接口为了使两个结点之间能进行对话,必须在它们之间建立通信工具(即接口),使彼此之间能进行信息交换。
接口包括两部分:(1)硬件装置:实现结点之间的信息传送(2)软件装置:规定双方进行通信的约定协议1、网络编程基本概念网络编程基本概念4、TCP/IPTCP/IP:传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网络的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的。
IP地址:网络中每台计算机的一个标识号,本地IP:127.0.0.1 localhost端口号(PORT):端口号的范围:0~65535之间,0~1023之间的端口数是用于一些知名的网络服务和应用()端口号的范围之间之间的端口数是用于些知名的网络服务和应用网络编程基本概念1、网络编程基本概念5、程序开发结构网络编程主要是指完成C/S程序的开发,程序的开发结构有两种:∙C/S(客户端/服务器)开发两套程序,两套程序需要同时维护,例如:QQ。
习题11 课后习题答案1.常见网络端口有哪些?答案:在计算机中操作系统内部使用1-1024保留端口号,所以设计应用程序时需选择除此之外的端口。
如:20文件传输协议(默认数据口) ,80全球信息网超文本传输协议(www)。
2.如何连接和读取URL中的资源?答案:(1)通过URLConnection连接WWW:用URL的openStream()方法从网络上读取数据,若要输出数据,用类URLConnection,与URL建立连接,然后对其进行读/写操作。
(2)用URL读取WWW数据资源:在取得一个URL对象后,通过使用URL的openStream()方法,可以获得所需的特定的WWW 资源。
3.什么是套接字?有哪几种套接字?答案:套接字Socket是网络通信的应用程序接口,可以实现客户机与服务器之间的通信。
常用的TCP/IP协议的3种套接字类型有:流套接字(SOCK_STREAM);数据包套接字(SOCK_DGRAM);原始套接字(SOCK_RAW)。
流套接字用于提供面向连接、可靠的数据传输服务。
该服务将保证数据能够实现无差错、无重复发送,并按顺序接收。
数据包套接字提供了一种无连接的服务。
该服务并不能保证数据传输的可靠性,数据有可能在传输过程中丢失或出现数据重复,且无法保证顺序地接收到数据。
原始套接字与标准套接字(标准套接字指的是前面介绍的流套接字和数据包套接字)的区别在于:原始套接字可以读写内核没有处理的IP数据包,而流套接字只能读取TCP协议的数据,数据包套接字只能读取UDP协议的数据。
因此,如果要访问其他协议发送数据必须使用原始套接字。
4.简述TCP套接字的实现过程?答案:实现TCP套接字基本步骤分为服务器端和客户端两部分。
(1)服务器端步骤创建套接字;绑定套接字;设置套接字为监听模式,进入被动接收连接请求状态;接收请求,建立连接;读/写数据;终止连接。
(2)客户端步骤创建套接字;与远程服务器程序连接;读/写数据;终止连接。
第十一章输入/输出处理主要内容:两个主要流类:InputStream与OutputStream。
11.1 流●输入/输出操作包括:对外设的输入/输出、文件读/写、站点对网络的读/写、线程之间的数据通信。
●Java输入/输出是基于流的。
流是指在通信路径上从信源到目的地传输的字节序列。
●Java语言定义了两个主要的流类:InputStream与OutputStream。
这些流的各种子类提供了各种I/O功能。
●InputStream与OutputStream是抽象类,是所有流类的父类,提供了输入/输出的基本接口,并实现了其中的部分方法。
11.2InputStream与OutputStream类(1输入流常用方法✓int read(;int read(byte[];int read(byte[],int,int;✓void close(;✓skip(long;✓markSupported(;mark(;reset(;(2输出流常用方法✓write(int; write(byte[];write(byte[],int,int;✓close(;✓flush(;11.3文件I/O处理(1 File●利用File类提供的方法,可以得到有关文件和目录的描述信息,包括路径、可读性、可写性、长度等.●可以建立、删除目录文件,改变目录和文件的名称等。
●File类主要用于命名文件、查询文件属性和进行目录管理等。
●创建File对象有三种构造方法:public File(String path;public File(String path,String name;public File(File dir,String name;●常用的方法:✓String getName(;✓String getPath(;✓String getAbsolutePath(;✓String getParent(;✓boolean renameTo(File newName;✓boolean exists(;✓boolean canWrite(;✓boolean canRead(;✓boolean isFile(;✓boolean isDirectory(;✓long lastModified(;✓long length(;✓boolean delete(;✓boolean mkDir(;✓String[] list(;(2 RandomAccessFile●实现文件随机存取,即对文件的非顺序存取。
第十一章: GUI编程一.GUI -- Graphical User InterfaceAWT (抽象窗口工具集) AbstractWindow Toolkit为简单的applet程序设计AWT没有提供足够的桌面端的程序所需的特性它不适宜用来构建丰富的桌面图形界面SwingSwing是AWT的扩展和功能加强是构建java图形界面标准的APISWT (Standard Widget Toolkit)是一个开源的GUI编程框架SWT是IBM为它的Eclipse集成开发环境而开发的图形用户界面工具AWTAWT(Abstract Window Toolkit)包括了很多类和接口,用于Java Application 的GUI (Graphics User Interface 图形用户界面)编程。
GUI的各种元素(如:窗口,按钮,文本框等)由Java 类来实现。
AWT所涉及的类一般在java.awt包及其子包中。
Container和Component是AWT中的两个核心类。
Modal ModelessComponent & ContainerJava的图形用户界面的最基本组成部分是Component ,Component 类及其子类的对象用来描述以图形化的方式显示在屏幕上并能与用户进行交互的GUI元素,例如,一个按钮,一个标签等。
一般的Component对象不能独立地显示出来,必须将“放在”某一的Container对象中才可以显示出来。
Container是Component子类,Container子类对象可以“容纳”别的Component 对象。
Container对象可使用方法add(..)向其中添加其他Component对象。
Containter是Component的子类,因此Containter对象也可以被当作Component对象添加到其他Container对象中。
有两种常用的Containter:Window: 其对象表示自由停泊的顶级窗口Panel: 其对象可作为容纳其它Component对象,但不能独立存在,必须被添加到其它Containner中(如Window 或Applet)FrameFrame是Window的子类,由Frame或其子类创建的对象为一个窗体。