首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和Java程序代码,将应填入(n)处的字句写在对应栏内。 SMTP是发送E-mail的协议,常用以下5条命令发送E-mail: HELO,与SMTP服务器握手,传送本机域名; MAILFROM:,传送发信者的信箱名称; RCP
阅读以下说明和Java程序代码,将应填入(n)处的字句写在对应栏内。 SMTP是发送E-mail的协议,常用以下5条命令发送E-mail: HELO,与SMTP服务器握手,传送本机域名; MAILFROM:,传送发信者的信箱名称; RCP
admin
2010-01-17
94
问题
阅读以下说明和Java程序代码,将应填入(n)处的字句写在对应栏内。
SMTP是发送E-mail的协议,常用以下5条命令发送E-mail:
HELO,与SMTP服务器握手,传送本机域名;
MAILFROM:,传送发信者的信箱名称;
RCPTTO:,传送接收者的信箱名称;
DATA,发送邮件数据(包括信头和信体);
QUIT,退出与SMTP服务器的连接。
2.试题中直接利用的类及方法如下:
(1)类ServerSocket(int port)实现TCP服务器接口(socket),它提供两种构造函数,用它们来指定服务器插口所用的端口,并监听到达的连接请求。类中的主要方法有:
accept( ):启动服务器插口监听并等待,直到建立连接为止,一旦建立连接就返回Socket类的一个对象。
getInetAddress( ):返回插口所连接的主机地址。
getLocaIPort( ):返回在服务器插口上建立了连接的端口。
close( ):关闭服务器插口。
(2)类InetAddress包装了Internet地址。类中的主要方法有:
getLocaIHost( ):返回一个代表本机Internet地址的InetAddress对象。
getaddress( ):获得数字表示的IP地址。
getHostName( ):获得域名。
(3)类Socket实现基于连接的客户插口。类中的主要方法有getInetAddress( ):返回一个与插口连接的客户机的Internet地址,其类型为InetAd-dress。getlnputStream( ):用来访问与插口相关的输入流。getOutputStream( ):用来访问与插口机关的输出琉。close( ):关闭插口。
(4)readLine( )是输入流类的一个方法,用于服务器或客户从对方读入一行输入流信息。
(5)用户白定义类NVTInputStream(InputStream inStream, OutputStream outStream)实现了网络虚拟终端输入接口。
(6)用户自定义类NVTOutputStream(OutputStream outStream)实现了网络虚拟终端输接口。
3.下面是用Java语言实现的一个简单SMTP服务器程序的部分代码。
[程序代码]
import java.net. *:
import java.io. *;
import jdg. yan. NVTlnputStream; //用户自定义类包
import jdg. yan. NVTOutputStream; //用户自定义类包
public class SMTPServer App
{
public static void main(String args[])
{
SMTPServer server=new SMTPServer( );
server. run( );
}
}
class SMTPServer
{
static final int HELO=1;
static final int MAIL=2;
static final int RCPT=3;
static final int DATA=4;
static final int END_DATA=5;
static final int OUIT=6;
static final int FINISHED=9;
NVTOutputStream out;
NVTInputStream in;
String hostName;
public SMTPServer( )
{
super( );
}
public void run( ){
try{
ServerSOcket server=(1);//在1145号端口建立下CP服务器插口
int localPort=server. getLocalPort( );//监听连接端口
hostNama=(2);//获取本地主机域名
SVstem. out. prfntln("listening on port"+locaIPort+".");
boolean finished=false;
do {
Socket client=(3);//监听等待,直到建立连接,返回对象client
Stnng destName=(4);//获得所连接的客户主机IP地址的域名
int destPort=client. getPort( );//所连接的客户主机端口号
System. out pnntln("Accepted connection to"+destNama+"on port"+destPort+"."
//控制台显示连接
out=new NVT0utputStream(client. get OutputStream( ));
In=new NVTInputStream((5));//建立与连接关联的输入流
(6);//接收邮件
(7);//关闭连接对象
}while(! finished);
}catch(UnknownHostException ex){
SVstem.out.printtn("UnknownHostException occurred.");//出错处理
}cath(lOException ex){
System. out. println("lOException occurred.");
}
}
vold getMail( ){ //实现SMTP的子集,从客户接收邮件
out. println("Server220"+hostName+"Ready!");
int state=HELO; //设置状态为HELO,state保存与客户通信的状态
do{ //接收并处理从邮件客户接收到的命令
String line="";
out. println("Server 250 HELO, OK!");
try{
line=(8);//从虚拟终端读取一行
if(line==null)state=FINISHED;
}catch(IOException ex){
System. out. prmntln("Server IOExceptlon occurred.");
System.exit(1);
}
switch(state){
case HELO:
if((9))//若该行信息为传送本机域名
{
out. println("Server 250 Hello");
System. out. println(line);
state=MAIL;
}else{
out. println("Server 500 ERROR");
System. out. println("Server"+line);
}
state=FINISHED;
break’
case MAIL: //省略代码
case RCPT: //省略代码
case DATA:
if((10))//若该行信息为发送邮件数据
{
out. println("354 mail input; end with.");
System. out. println(line);
state=END_DATA;
}else{
out. println("500 ERROR");
System. out. println(line);
}
break;
case END_DATA;//代码省略
case QUIT://代码省略
}
}while(state!=FtNISHED);
}
//判断客户收到的命令是否与指定的命令字符串相匹配
boolean commandls(String s, String line){
int n=s. length( );
if(s.equalslgnoreCase(line. substring(0.n)))return true;
return false;
}
}
选项
答案
(1)new ServerSocket(1145) (2)InetAddress. getLocalHost( ).getHostName( ) (3)server. accept( ) (4)client. getlnetAddress( ).getHostName( ) (5)client. getlnputStream( ),out (6)SetMail( ) (7)client. close( ) (8)in. readLine( ) (9)commandIs("HELO", line) (10)commandIs(”DATA”,line)
解析
转载请注明原文地址:https://kaotiyun.com/show/ZRPZ777K
本试题收录于:
网络工程师下午应用技术考试题库软考中级分类
0
网络工程师下午应用技术考试
软考中级
相关试题推荐
PH公司的某项目由3个活动A、B、C依次串接组成。活动A、B、C在正常情况下的工作时间分别为11天、20天、10天,在最有利的情况下的工作时间分别为10天、18天、7天,在最不利的情况下的工作时间分别为24天、28天、19天,那么该项目最可能完成时间是(3
某市准备投入一笔资金将高耗能的夜景照明设备更换为低能耗的夜景照明设备。系统集成公司PH在帮助该市相关职能部门进行项目立项时,最适合采用(31)计算出该项目的节能经济效果。
系统集成商Y公司承担了某企业的业务管理系统的开发建设工作,Y公司任命陈工为项目经理。陈工估计该项目20天即可完成,如果出现问题耽搁了也不会超过28天完成,最快18天即可完成。根据项目历时估计中的三点估算法,该项目的历时为(49),该项目历时的估算方差约为(
德尔菲法是一种非常有效的风险定量分析技术,它主要用来(48)。
某公司正在为某省公安部门开发一套边防出入境管理系统,该系统包括15个业务模块,计划开发周期为9个月,即在今年10月底之前交付。开发团队一共有15名工程师。今年7月份,中央政府决定开放某省个人到香港旅游,并在8月15日开始实施。为此客户要求公司在新系统中实现
在进行网络规划时,要遵循统一的通信协议标准。网络架构和通信协议应该选择广泛使用的国际标准和事实上的工业标准,这属于网络规划的(19)。
图可以广泛用于描绘各种类型的信息处理问题及其解决方法。根据《中华人民共和国国家标准GB1526-1989》,用来表示程序激活路径和程序与相关数据的相互作用的图形工具是______。
挣值管理是一种综合了范围、时间、成本绩效测量的方法,通过与计划完成的工作量、实际挣得的收益、实际的成本进行比较,可以确定成本进度是否按计划执行。下图中标号所标示的区间依次应填写______。
负责管理项目的需求、范围、进度、成本、质量、人力资源、沟通、风险和采购,意味着项目整合管理()的特征。
信息的传输模型中包括信源、编码器、信道、解码器、信宿、噪声等要素。噪声主要对_______形成干扰或影响。
随机试题
下列经脉中,经阴阜,沿腹部和胸部正中线上行的经脉是
A.盐酸普鲁卡因B.对乙酰氨基酚C.硅胶GF254D.黄色希夫碱溶液E.对氨基水杨酸钠
设计单位一般都对工程项目设计实行()管理。
合同生效应当具备的条件不包括( )。
()广播呼叫的呼叫优先级别是最高级。
不容许风险的危险值分值应大于()。
下列关于现金管理的说法中,正确的是()。Ⅰ.若已知客户每月固定支出,则其失业保障月数可由存款、可变现资产或净资产月固定支出来计算Ⅱ.客户可利用贷款额度储备作为应对失业导致的工作收入中断,应对紧急医疗或意外所导致的超支费用,即作为紧急
习近平第一次阐述中国梦的时间是()。
设奇函数f(x)在[一1,1]上具有二阶导数,且f(1)=1,证明:存在η∈(一1,1),使得f’’(η)+f’(η)=1.
Itwasasunnyday.Alittleboy’sfatherwassittingonthecouch,drinkingabeerwhilewatching【K1】______basketballmatch.S
最新回复
(
0
)