网络程序设计.doc
上传人:sy****28 上传时间:2024-09-12 格式:DOC 页数:13 大小:89KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

网络程序设计.doc

网络程序设计.doc

预览

免费试读已结束,剩余 3 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第10章网络程序设计【1】java提供了哪几种网络通信模式?[解答]:基于TCP/IP协议的面向连接的通信模式,基于UDP协议的面向无连接的通信模式。【2】java的套接字网络通信方式分为哪几种?[解答]:基于TCP/IP协议:客户端套接字,服务器端套接字。基于UDP协议:用户数据报套接字,广播数据报套接字。【3】什么是socket,怎样建立socket连接?建立连接时,客户端和服务器端有什么不同?[解答]:Socket就是套接字,是IP地址和端口号的组合。当两个网络程序需要通信时,它们可以通过使用Socket类建立套接字连接。服务器端建立Socket以后,要执行一个等待的方法,以方便客户端来连接。客户端建立Socket以后即与服务器端进行连接,成功握手以后,双方产生同样的Socket对象。【4】请列举常用的协议及其端口号。[解答]:ftp21/tcptelnet23/tcpsmtp25/tcphttp80/tcppop3110/tcpsnmp161/udphttps443/tcphttps443/udppop3110/tcp【5】试描述用Socket建立连接的基本程序框架。[解答]:客户端建立套接字对象,指定服务器IP和端口号。服务器端建立套接字,并指定端口号。服务器端监听本机的端口的状态:执行accept()方法。客户端程序在对象产生以后以及,服务器端的程序监听到有连接以后都会产生一个Socket类的实例。对这两个实例中对应的输入流和输出流进行操作,即完成通信过程。【6】说明客户端如何与服务器端进行连接。[解答]:TCP/IP的方式是:客户端产生Socket对象的同时产生与对应端口号的服务器连接的动作。UDP数据报的方式是:客户端建立DatagramSocket对象,建立报文DatagramPacket对象,并指定发送的IP地址,调用socket对象的send方法进行连接并发送数据。【7】说明客户端如何从服务器读一行文本。[解答]:TCP/IP的方式是:客户端与服务器端成功握手以后,从Socket中得到数据输入流并用相应的包装器进行包装,以输入流中相应的read方法来读取一行的文本。UDP数据报的方式是:建立数据报的DatagramSocket对象以后,调用DatagramSocket对象的receive方法来等待服务器的数据到来,接收到数据以后用DatagramPacket对象的getData方法来将接收到的数据提取出来。【8】说明服务器如何将数据发送到客户端。[解答]:TCP/IP的方式是:客户端与服务器端成功握手以后,从Socket中得到数据输出流并用相应的包装器进行包装,用并向客户端调用相应的write方法来发送数据。UDP数据报的方式是:创建数据报文DatagramSocket对象,调用DatagramSocket对象的receive方法来等待客户端的请求到来。从到来的DatagramPacket包中得到地址和端口号,建立数据报文对象,发送数据报。【9】采用套接字的连接方式编写一个程序,允许客户向服务器提出一个名字,如果这个文件存在,就把文件内容发送给客户,否则回答文件不存在。[解答]://客户端importjava.awt.Button;importjava.awt.FlowLayout;importjava.awt.TextField;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;importjava.io.BufferedInputStream;importjava.io.DataInputStream;importjava.io.DataOutputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.net.Socket;importjavax.swing.JFrame;publicclassTranFileClientextendsJFrameimplementsActionListener{Buttonbtn;TextFieldtf;publicTranFileClient(){//布局super("要接收的文件名");setBounds(400