The TCP _____ state represents waiting for a connection request from any remote TCP and port.
A.CLOSED
B.LISTEN
C.CLOSE_WAIT
D.ESTABLISHED
- · 有5位网友选择 B,占比55.56%
- · 有2位网友选择 A,占比22.22%
- · 有1位网友选择 C,占比11.11%
- · 有1位网友选择 D,占比11.11%
A.CLOSED
B.LISTEN
C.CLOSE_WAIT
D.ESTABLISHED
Who is being addressed?
A.Customers
B.Store managers
C.Office workers
D.Customer service representatives
阅读以下说明和Java程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
1.SMTP是发送E-mail的协议,常用以下5条命令发送E-mail:
·HELOamp;$lt;domain$amp;>amp;$lt;CRLF>,与SMTP服务器握手,传送本机域名;
·MAILFROM:amp;$lt;CRLF>,传送发信者的信箱名称;
·RCPTTO:amp;$lt;CRLF>,传送接收者的信箱名称;
·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。getInputStream():用来访问与插口相关的输入流。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.NVTInputStream;//用户自定义类包
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 QUIT=6;
static final int FINISHED=9;
NVTOutputStream out;
NVTInputStream in;
String hostName;
public SMTPServer()
{
super();
}
public void run(){
try {
ServerSocket server= (1) ;//在1145号端口建立TCP服务器插口
int localPort=server.getLocalPort();//监听连接端口
hostNama= (2) ;//获取本地主机域名
System.out.println("listening on port"+localPort+".");
boolean finished=false;
do {
Socket client= (3) ;//监听等待,直到建立连接,返回对象client
String destName= (4) ;//获得所连接的客户主机IP地址的域名
int destPort=client.getPort (); //所连接的客户主机端口号
System.out println("Accepted connection to"+destNama+"on port"+destPort+".");
//控制台显示连接
out=new NVTOutputStream(client.getOutputStream());
in=new NVTInputStream((5) ); //建立与连接关联的输入流
(6) ;//接收邮件
(7) ;//关闭连接对象
}while(!finished) ;
}catch (UnknownHostException ex) {
System.out.println("UnknownHostException occurred.");//出错处理
}cath(IOException ex) {
System.out.println ("IOException occurred.");
}
}
void 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.println("Server IOException 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 withCRLF.CRLF");
System.out.println(line);
state=END_DATA;
}else{
out.println("500 ERROR");
System.out.println(line);
}
break;
case END_DATA;//代码省略
case QUIT://代码省略
}
}while(state!=FINISHED);
}
//判断客户收到的命令是否与指定的命令字符串相匹配
boolean commandIs(String s,String line){
int n=s.length();
if(s.equalsIgnoreCase(line.substring(0,n)))return true;
return false;
}
}
A、使用配置数据库镜像安全向导为DB1创建端点并设置安全性。建立端点使用SQL SERVER 验证。
B、用Transact-SQL为每个Server实例配置数据库镜像端点及安全性。允许数据库镜像对出入 连接使用加密证书。
C、创建登录并将其添加到sysadmin组。设置每一个Server实例都使用SQL Server认证登录。然后使用数据库属性镜像页上配置安全性向导为DB1创建端点。
D、连接到各个Server实例并执行以下语句。CREATE ENDPOINT mirroring STATE = STARTED AS TCP (LISTENER_PORT = 5022 ) FOR DATABASE_MIRRORING (AUTHENTICATION = WINDOWS NTLM, ROLE=PARTNER);
阅读以下说明和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:
A.p state
B.d state
C.s state
D.f state
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!