题目内容:
阅读以下说明和Java程序代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】
1.SMTP是发送E-mail的协议,常用以下5条命令发送E-mail:
·HELO<SP><domain><CRLF>,与SMTP服务器握手,传送本机域名;
·MAIL<SP><reverse-path><CRLF>,传送发信者的信箱名称;
·RCPT<SP>TO:<forward-path><CRLF>,传送接收者的信箱名称;
·DATA<CRLF>,发送邮件数据(包括信头和信体);
·QUIT<CRLF>,退出与SMTP服务器的连接。
2.试题中直接利用的类及方法如下:
(1)类ServerSocket(int port)实现TCP服务器接口(socket),它提供两种构造函数,用它们来指定服务器插口所用的端日,并监听到达的连接请求。类中的主要方法有:
accept():启动服务器插口监听并等待,直到建立连接为止,一旦建立连接就返回Socket类的一个对象。
getInetAddress():返回插口所连接的主机地址。
getLocaIPort():返回在服务器插口上建立了连接的端口。
close():关闭服务器插口。
(2)类InetAddress包装了Intemet地址。类中的主要方法有:
getLocaIHost():返回一个代表本机Internet地址的InetAddress对象。
getaddress():获得数字表示的IP地址。
getHostName():获得域名。
(3)类Socket实现基于连接的客户插口。类中的主要方法有getInetAddress():返回一个与插口连接的客户机的Internet地址,其类型为InetAd-dress。getInputStream():用来访问与插口相关的输入流。getOutputStream():用来访问与插口机关的输出流。close():关闭插口。
(4)readLine()是输入流类的一个方法,用于服务器或客户从对方读入一行输人流信息。
(5)用户自定义类NVTInputStream(InputStream inStream,OutputStream outStream)实现了网络虚拟终端输入接口。
(6)用户自定义类NVTOutputStream(OutputStream outStream)实现了网络虚拟终端输出接口。
3.下面是用Java语言实现的一个简单SMTP服务器程序的部分代码。
【程序代码】
参考答案:
答案解析: