ImageVerifierCode 换一换
格式:DOCX , 页数:48 ,大小:493.30KB ,
资源ID:16826736      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16826736.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(网络编程技术试题Word格式.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

网络编程技术试题Word格式.docx

1、 SMTP-简单邮件传输协议,提供互联网电子邮件服务 POP3-邮局协议3,提供互联网电子邮件服务 TFTP-简单文件传输协议,提供简单的文件传输服务 第二章 -Java及其输入输出机制 2.1 Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。通用性、高效性、平台移植性和安全性。 Java是纯面向对象语言,程序设计的单元是类,程序运行的单元为对象 C+是混合型语言,既可以是面向对象的,也可以是面向过程的 其它语法区别 定义常量:

2、 const float PI = 3.14 final static float PI = 3.14; Java去除了C+指针、析构函数等特性 Java对象都是在堆上的,C+有栈对象也有堆对象 Java中boolean类型和整型是不能进行类型转换的 if(a=0). else. Java中只支持单继承,C+支持多继承 class A extends B Java抽象方法使用abstract,C+使用virtual Java对于完全抽象的类使用interface(接口)表示 2.2 Java的输入输出机制Java的输入输出操作采用流的机制,数据流是指所有的数据通信通道2.2.1 流的概述 大部

3、分网络编程实质上处理输入和输出将字节从一个系统传输到另一系统中 网络上读写信息 v.s. 读写文件-在逻辑上(从Java的角度)没什么区别Java的I/O机制建立在流的基础上。不同的流用于读写特定资源,但它们都有基本的方法用于读写操作 Java中,一个可以读取字节序列的对象称为输入流,一个可以向其中写入字节序列的对象称之为输出流。 流是同步的,即:程序向流进行读写时,必须等待数据准备完毕后方法才会结束返回 Java中流的分类 -原始流 过滤器流2.2.2 输出流 Java基础的输出流类为:-public abstract class OutputStream基本方法包括(所有方法都抛出IOEx

4、ception): public abstract void write(int b) public void write(byte data) public void write(byte data, int offset, int length) public void flush() public void close()OutputStream子类实现这些方法将数据写到特定媒体 FileOutputStream TelnetOutputStream ByteArrayOutputStream2.2.3 输入流Java基础的输入流类为:-public abstract class Inp

5、utStream public abstract int read() public void read (byte data) public void read (byte data, int offset, int length) public int available() public void skip(long n) public void close()InputStream子类实现这些方法将数据写到特定媒体中 FileInputStream、 TelnetInputStream、 ByteArrayInputStream。File I/O 文件对象的建立; File fp=ne

6、w File(“tempfile.txt”); 对文件操作要定义文件流;FileInputStream类用来打开一个输入文件; FileOutputStream类用来打开一个输出文件;文件流的建立 FileInputStream in=new FileInputStream(fp); FileOutputStream out=new FileOutputStream(fp);输入流的参数是用于输入的文件名;输出流的参数是用于输出的文件名import java.io.*; class filestream public static void main(String args) try File

7、 inFile=new File(”file1.txt); File outFile=new File(”file2.txt FileInputStream fis=new FileInputStream(inFile); FileOutputStream fos=new FileOutputStream(outFile); int c; while(c=fis.read()!=-1) fos.write(c); fis.close(); fos.close(); catch(FileNotFoundException e) System.out.println(FileStreamsTest

8、: +e); catch(IOException e) System.err.println( 标记和重置(Marking & Resetting):用于在输入流中回退读取已经读过的数据 public void mark(int readAheadLimit) public void reset() public boolean markSupported()2.2.4 过滤器流 Java提供过滤器(filter)类将这些字节转化为其它格式数据 过滤器包括两种:过滤器流和读写器(readers & writers),过滤器流依旧操作原始字节流,而读写器则操作文本。 过滤器流置于原始流或其它过滤

9、器流上,读写器则置于原始流、过滤器流和其它读写器之上,过滤器流不能置于读写器上 过滤器输出流与OutputStream拥有相同的write、 close和flush方法 过滤器输入流与InputStream拥有相同的read、 close和available方法 过滤器流的链接:通过构造函数进行链接DataOutputStream dout = new DataOutputStream( new BufferedOutputStream( new FileOutputStream(“data.txt”) ) );缓冲流 BufferedOutputStream将写出的数据存储在缓冲区中,直到缓

10、冲区满或者流被刷新;之后一次性将这些数据将数据写到底层输出流 BufferedInputStream读取数据时会先在缓冲区中获取数据,只有在缓冲区中数据用完时才从底层输入流读取数据 public BufferedInputStream(InputStream in); public BufferedInputStream(InputStream in, int buffersize); public BufferedOutputStream(OutputStream out); public BufferedOutputStream(OutputStream in, int buffersiz

11、e);打印流;用于输出的流,System.out就PrintStream的一个实例构造函数: public PrintStream(OutputStream out) public PrintStream(OutputStream out,boolean autoFlush)PrintStream定义了9个重载的print和10个重载的;println方法,这些方法将不同基类型的参数先转换为字符串再写入底层输出流PrintStream的println方法应注意三个问题:println输出时平台相关的,有的是换行,有的是回车,有的是换行/回车对println按其运行平台制定默认的编码格式Prin

12、tStream会“吃”掉所有的异常数据流DataOutputStream和DataInputStream类提供将Java基本类型和字符串写成二进制格式及从二进制格式读出为Java基本类型和字符串writeBoolean、writeByte、writeShortreadBoolean、readByte、readShort2.2.5 读写器java.io.Reader用于读取字符java.io.Writer用于写字符Reader和Writer默认使用Unicode字符Reader子类包括:InputStreamReader ; FileReader; CharArrayReader;Writer子

13、类包括:OutputStreamWriter; FileWriter; CharArrayWriter;Writer常用方法: protected Writer() protected Writer(Objcet lock) public abstract void write(char text, int offset, int length) public void write(int c) public void write(char text) public void write(String s) public void writer(String s, int offset,int

14、 length) public abstract void flush() public abstract void close()Writer子类,从Java程序中接收字符,根据指定的编码格式将字符转换为字节,并将其写入到一个输出流中 public OutputStreamWriter(OutputStream out,String encoding); public OutputStreamWriter(OutputStream out);Reader常用方法: protected Reader() protected Reader(Objcet lock) public abstract

15、 void read(char text,int offset, int length) public void read (int c) public void read(char text) public void skip (long n) public boolean ready() Public boolean markSupported() Reader子类,从底层输入流接收字节,根据指定的编码格式将字节转换为字符,并将其返回给使用者 public InputStreamWriter(InputStream in,String encoding); public InputStre

16、amWriter(InputStream in);2.2.6 输入输出方法System类管理标准输入输出流和错误流 System.out: 把输出送到缺省的显示(通常是显示器)System.in: 从标准输入获取输入(通常是键盘)System.err: 把错误信息送到缺省的显示每当main方法被执行时,就自动生成上述三个对象public class ReadHello public static void main(String args) char inchar; System.out.println(“Enter a character:”); try inChar=(char)Syste

17、m.in.read(); Syste.out.println(“ “+ inChar); catch(IOException e) Sytem.out.println(“Error reading from user”); import java.io.*;class IOTest public statics void main(String args) try byte bArray=new byte128; System.out.println(“Enter something: System.in.read(bArray); System.out.print(“You entered:

18、 System.out.println(bArray); catch(IOException ioe) System.out.println(ioe.toString(); 输入输出方法为什么输入的是字符,输出是乱码?原因:System.out.println(bArray)输出的是数组的地址而不是字符改进:将字符数组变换成字符串原来是:System.out.println(bArray);现在为:String s=new String(bArray,0); System.out.println(s);System.in是属于BufferedInputStream类型System.out是属于

19、PrintStream类型System.err也是属于PrintStream类型 第三章 网络地址3.1 InetAddress类网络上每一个节点都需要一个IP地址进行标识通过DNS也可以使用主机名标志一台主机一台主机可以有多个名字一个主机名也可以映射到多个IP地址 .InetAddress是Java用于对表示IP地址的类;既可以表示IPv4地址(Inet4Address)也可以表示IPv6地址(Inet6Address) InetAddress作为参数用于构造套接字类(Socket) InetAddress类声明如下: public class InetAddress extends Obj

20、ect implements Serializable InetAddress类中包含两个属性:主机名(String hostname)和IP地址(byte address)创建InetAddress对象 InetAddress类没有public类型的构造函数 InetAddress类定义了几个静态方法用于返回InetAddress对象(均抛出UnknownHostException): public static InetAddress getLocalHost() public static InetAddress getByName(String hostName) public sta

21、tic InetAddress getAllByName(String hostName) public static InetAddress getByAddress (byte addr)前三个方法会与本地DNS建立连接,获取InetAddress对象需要的信息由于网络连接的系统开销很大,所以查询结果会进行缓存 getLocalHost方法:获取本地主机的InetAddress对象(当查不到本地主机地址时,会抛出一个 UnknownHostException异常)代码示例: try InetAddress addr = InetAddress.getLocalHost(); catch(U

22、nknownHostException e) 当本地主机绑定多个IP地址时,该方法只返回第一个IP地址,若要返回本机的全部IP地址,需要使用getAllByName方法 getByName方法通过指定域名从DNS中得到相应的IP地址。 String类型参数hostname:主机域名;主机名;主机IP地址(点分十进制字符串形式);/返回域名为www.javathinker.org的IP地址InetAddress addr3=InetAddress.getByName(/返回代表“buffaloInetAddress addr2=InetAddress.getByName(“buffalo/返回代

23、表222.34.5.7InetAddress addr2=InetAddress.getByName( getAllByName方法可以获得DNS上域名对应的所有IP地址 InetAddress addresses = InetAddress. getAllByName(“”) ;getByAddress方法 getByAddress方法通过byte数组形式的IP地址创建 InetAddress对象两种重载形式 public static InetAddress getByAddress ( String host,byte addr) 第二个重载方法中的host参数与“主机名”是不同的概念,

24、它只表示IP地址的一个别名,与DNS中的域名及主机名可以完全不同,这两个方法并不访问DNS服务器InetAddress类的查询方法InetAddress类中其它的查询函数:查找IP地址(不访问DNS服务器)public byte getAddress();public String getHostAddress()查找域名public String getHostName();public String getCanonicalHostName()将InetAddress对象转换为字符串表示;public String toString()3.2 Inet4Address和Inet6Addre

25、ss Inet4Address:InetAddress的子类,表示IPv4地址-public final class Inet4Address extends InetAddress Inet6Address:InetAddress的子类,表示IPv6地址-public final class Inet6Address extends InetAddress3.3 SocketAddress类 SocketAddress类用于表示网络连接的一个端点地址。 SocketAddress是一个空类,只有一个默认构造方法;public SocketAddress() SocketAddress的子类可

26、以根据具体协议提供通信端点的细节 目前只支持TCP/IP协议的SocketAddressInetSocket Address SocketAddress的目的是方便的存储Socket相关地址信息,在TCP/IP类型Socket中,包括IP地址和端口号; InetAddress ia; int port构造函数 InetSocketAddress(InetAddressaddr, intport) InetSocketAddress(Stringhostname, intport) InetSocketAddress(int查询方法 InetAddress getAddress() :获取IP地址 String getHostName():获取域名或主机名 int getPort() :获取端口号 第四章 Socket和ServerSocket网络编程基本流程TCP协议TCP客户/服务器程序流程如下:4.1 构造Socket对象 套接字(socket)表示两台主机间的连接,可以发送请求,也可以接收请求。可以执行以下七种操作:连接远程主机; 发送数据; 接收数据; 关闭连接; 绑定到一个端口; 监听到来的连接请求; 在绑定的端口上接受远程主机的连接; J

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1