多选题建立Socket类的客户端需要哪些步骤?()A如果连接成功,则可以通过此Socket对象进行通讯;B如果连接成功,则重新创建一个Socket对象用于通讯;C向指定的IP地址和端口号进行连接尝试;D创建一个Socket对象;E首先通过网络扫描工具扫描服务器端是否已经开通;

题目
多选题
建立Socket类的客户端需要哪些步骤?()
A

如果连接成功,则可以通过此Socket对象进行通讯;

B

如果连接成功,则重新创建一个Socket对象用于通讯;

C

向指定的IP地址和端口号进行连接尝试;

D

创建一个Socket对象;

E

首先通过网络扫描工具扫描服务器端是否已经开通;

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

关于Socket通讯正确的是()。

A.客户端需要ServerSocket,需要绑定端口号

B.客户端需要Socket,需要绑定端口号

C.服务器端需要ServerSocket,需要绑定端口号和IP地址

D.服务器端需要ServerSocket,需要绑定端口号


正确答案:D

第2题:

Socket的工作流程是 ( ) ①打开连接到Socket的输入/输出 ②按某个协议对Socket进行读/写操作 ③创建Socket ④关闭Socket

A.①③②④

B.②①③④

C.③①②④

D.①②③④


正确答案:C

第3题:

在J2EE中,当使用以某主机地址为参数的构造器来创建新的Socket实例时,()。

A.客户端试图通过Internet建立与该主机的连接

B.客户端启动运行于主机上的服务器程序

C.没有特殊事情发生,直到调用Socket的accept()方法

D.调用Socket的accept()方法


参考答案:A

第4题:

阅读以下说明、Java源程序和运行测试部分

1.HTTP协议。

●HTTP请求消息示例:

GET/index, htmlHTTP/1.1

Accept: image/gif, image/jpeg,* /

Accept-Language: zh-ch

Accept-encoding: gzip, deflate

User-Agent: Mozilla/4.0(compatible; MSIE6.0; Windows NT5.1 )

Host: localhost: 8080

Connection: Keep-Alive

●HTTP响应消息示例:

HTTP/1.1 200 OK

Servert: Microsoft-IIS/4.0

Date:Mon,3 Jan 1998 13:13:33 GMT

Content-Type: text/html

Last-Modified:Mon,11 Jan 1998 13:23:42 GMT

Contelit-Length: 112

<html>

</html>

2.相关类及主要成员函数。

SewerSocket类:

服务器端套接字,它监听固定端口,以接收来自客户端的连接请求,一旦建立连接就返回一个Socket类型的对象。类中的主要成员函数如表1-4所示。

基于连接的套接字。类中的主要成员函数如表1-5所示。

【Java源程序;一个简单的Web服务器】

/**********************************************/

/* WebScrvc.java */

/**********************************************/

packageobjclass;

import java.net. *;

import java.io. *;

public class WebServer{

//Web服务器侦听的端口号

public static final int PORT=8080;

//WEB—ROOT变量存放Web服务器工作目录,该目录存放HTML、GIF图片等静态文件资源

public static final String WEB_ROOT=

System.getProperty("user.dir")+File.separator+"webroot";

//SHUTDOWN_COMMAND变量保存关闭服务器的命令

private static final String SHUTDOWN_COMMAND="/shutdown";

//是否收到关闭服务器命令的标志

private boolean shutdown=false;

public static void main(Sting [] args) {

WebServerserver; newWebServer( );

Server.await( );

}

public void await() {

ServerSocke serversocke=null;

try{

//创建侦听端口号为PORT的ServerSocket类型的对象

ServerSocket=new (1) ;

System.out.println( "WebServerStarted!");

}

catch(IOException e) {

e.printStackTrace( );

System.exit(1);

}

//循环等待客户端连接

while(!shutdown) {

Socket socket=null;

InputStream input=null;

OutputStream utput=null;

try{

//创建来自客户端的连接套接宇

Socket= (2) ;

//创建输入流

input=socket. (3) ;

//创建输出流

utput=socket. (4) ;

//创建request对象

Request request=new Request(input);

//解析客户端HTTP请求

request. (5) ;

//创建Response对象

Response response=new Response(output);


正确答案:(1) ServerSocket(PORT)或ServerSocket(PORT1 InetAddress.getByName( "127.0.0.1" ) ) (2) serverSocket.accept( ) (3) getlnputStream( ) (4) getOutputStream( ) (5) parse( ) (6) sendStaticResource( ) (7) socket.close( ) (8) getUri( ) (9) http://localhost:8080/i
(1) ServerSocket(PORT)或ServerSocket(PORT,1, InetAddress.getByName( "127.0.0.1" ) ) (2) serverSocket.accept( ) (3) getlnputStream( ) (4) getOutputStream( ) (5) parse( ) (6) sendStaticResource( ) (7) socket.close( ) (8) getUri( ) (9) http://localhost:8080/i

第5题:

下列______步骤对于编写不同的Socket程序是不同的。

A.关闭Socket

B.打开Socket

C.对Socket进行I/O操作

D.打开连接到Socket的I/O流


正确答案:C

第6题:

阅读以下程序说明和C++程序,将程序段中(1)~(7)空缺处的语句填写完整。

[说明]

使用MFC的CSocket类在两个或者多个应用程序之间建立通信。服务器应用程序先创建一个特殊的 Socket,用于监听客户应用程序的连接请求,然后再创建新的Socket来完成连接。从客户和服务器两端读取该连接,直到一个需要处理的报文到来为止。以下C++程序将封装这些功能,这样所有应用程序需要完成的只是创建一个Socket连接,然后处理到来的报文。这将包括一个新的服务器Socket类、新客户端Socket类和新的报文队列类。

创建新的服务器Socket类程序的框架如下。第1个函数ListenEx()用于通知Socket开始监听客户应用程序。第2个函数OnAccept()在接收到连接请求时被调用。在其中创建新的Socket,并立刻设置它开始从客户应用程序读取报文,这些是通过调用第3个函数RecvThread()来完成的,该函数位于它自己的线程中。

[C++程序]

[ListenEX()函数]


正确答案:这是一道要求读者使用Socket与另一个Windows应用程序或者与任何支持Socket的应用程序通信的编程题。本题的解答思路如下。 题干已给出“函数ListenEx()用于通知Socket开始监听客户应用程序”ListenEx()通过调用CSocket的Listen()函数监听来自客户应用程序的连接请求。ListenEx()同时在结构中设置其调用参数这些参数最终被传递到RecvThread()函数以实现读操作。因此()空缺处应填入“Listen()”。 函数OnAccept()在接收到连接请求时被调用。它使用文本编辑器(TextEdit)重载CSocket的OnAccept()函数在其中将创建新的Socket用于建立与客户应用程序的连接同时使用由用户定义的标识符作为关键字将该Socket保存到对象映射表中。然后设置Socket进入同步模式并创建一个线程从套接字中读取数据。因此(2)空缺处应填入“newCSocket”用于完成初始化工作。 函数RecvThread()使用CSocket的Receive()函数等待直到通过套接字接收到新的报文。该线程假定每一个报文包含固定字长的报头和可变长度的报文体。对于每一个新的套接字报文RecvThread()还向应用程序发送WM_New_MESSAGE消息通知新的报文等待处理。如果套接字关闭线程将在终止前向应用程序发送WM_DONE_MESSAGE消息所以(3)空缺处应填入“len+=res”。该函数没有返回值所以(4)空缺处应填入“return 0”。 接下来添加函数SendEx()向客户应用程序发回报文该函数将根据用户定义的标识符从对象映射表中取出Socket对象然后调用线程函数向该Socket发送报文因此(5)空缺处应填入“m_mapSockets[id]”。 SendThread使用CSocket类的Send()函数将报文数据发送出去因此(6)空缺处应填入“Send”。 服务器套接字类中的最后需要创建关闭函数这个函数不仅将关闭监听套接字而且将关闭创建的所有与客户端连接的套接字因此(7)空缺处应填入“Close()”。
这是一道要求读者使用Socket与另一个Windows应用程序或者与任何支持Socket的应用程序通信的编程题。本题的解答思路如下。 题干已给出“函数ListenEx()用于通知Socket开始监听客户应用程序”,ListenEx()通过调用CSocket的Listen()函数监听来自客户应用程序的连接请求。ListenEx()同时在结构中设置其调用参数,这些参数最终被传递到RecvThread()函数以实现读操作。因此()空缺处应填入“Listen()”。 函数OnAccept()在接收到连接请求时被调用。它使用文本编辑器(TextEdit)重载CSocket的OnAccept()函数,在其中将创建新的Socket,用于建立与客户应用程序的连接,同时使用由用户定义的标识符作为关键字将该Socket保存到对象映射表中。然后,设置Socket进入同步模式,并创建一个线程从套接字中读取数据。因此(2)空缺处应填入“newCSocket”,用于完成初始化工作。 函数RecvThread()使用CSocket的Receive()函数等待,直到通过套接字接收到新的报文。该线程假定每一个报文包含固定字长的报头和可变长度的报文体。对于每一个新的套接字报文,RecvThread()还向应用程序发送WM_New_MESSAGE消息,通知新的报文等待处理。如果套接字关闭,线程将在终止前向应用程序发送WM_DONE_MESSAGE消息,所以(3)空缺处应填入“len+=res”。该函数没有返回值,所以(4)空缺处应填入“return 0”。 接下来添加函数SendEx()向客户应用程序发回报文,该函数将根据用户定义的标识符从对象映射表中取出Socket对象,然后调用线程函数向该Socket发送报文,因此(5)空缺处应填入“m_mapSockets[id]”。 SendThread使用CSocket类的Send()函数将报文数据发送出去,因此(6)空缺处应填入“Send”。 服务器套接字类中的最后需要创建关闭函数,这个函数不仅将关闭监听套接字,而且将关闭创建的所有与客户端连接的套接字,因此(7)空缺处应填入“Close()”。

第7题:

建立Socket类的客户端需要哪些步骤?()

A.如果连接成功,则可以通过此Socket对象进行通讯;

B.如果连接成功,则重新创建一个Socket对象用于通讯;

C.向指定的IP地址和端口号进行连接尝试;

D.创建一个Socket对象;

E.首先通过网络扫描工具扫描服务器端是否已经开通;


参考答案:A, C, D

第8题:

对编写程序而言,Socket的工作过程不同的是

A.创建Socket

B.打开连接到Socket的输入/输出流

C.按某个协议对Socket进行读/写操作

D.关闭Socket


正确答案:C
解析:本题考查Socket的工作过程。Socket的工作过程分为4步进行,分别是题目的4个选项,对于编写程序而言,只有Socket读/写操作这步不同,其他3步都相同,它针对客户和服务分别提供Socket和ServerSocket两类连接。

第9题:

1Socket的工作流程是( )。 ①打开连接到Socket的输入/输出 ②按某个协议对Socket进行读/写操作 ③创建Socket ④关闭Socket

A.①③②④

B.②①③④

C.③①②④

D.①②③④


正确答案:C

第10题:

Socket 类与 ServerSocket类是用Java实现流式Socket通信的主要工具,创建一个ServerSocket对象就建立了一个Client与Server间的连接。()

此题为判断题(对,错)。


答案:错

更多相关问题