如果连接成功,则可以通过此Socket对象进行通讯;
如果连接成功,则重新创建一个Socket对象用于通讯;
向指定的IP地址和端口号进行连接尝试;
创建一个Socket对象;
首先通过网络扫描工具扫描服务器端是否已经开通;
第1题:
A.客户端需要ServerSocket,需要绑定端口号
B.客户端需要Socket,需要绑定端口号
C.服务器端需要ServerSocket,需要绑定端口号和IP地址
D.服务器端需要ServerSocket,需要绑定端口号
第2题:
Socket的工作流程是 ( ) ①打开连接到Socket的输入/输出 ②按某个协议对Socket进行读/写操作 ③创建Socket ④关闭Socket
A.①③②④
B.②①③④
C.③①②④
D.①②③④
第3题:
A.客户端试图通过Internet建立与该主机的连接
B.客户端启动运行于主机上的服务器程序
C.没有特殊事情发生,直到调用Socket的accept()方法
D.调用Socket的accept()方法
第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);
第5题:
下列______步骤对于编写不同的Socket程序是不同的。
A.关闭Socket
B.打开Socket
C.对Socket进行I/O操作
D.打开连接到Socket的I/O流
第6题:
阅读以下程序说明和C++程序,将程序段中(1)~(7)空缺处的语句填写完整。
[说明]
使用MFC的CSocket类在两个或者多个应用程序之间建立通信。服务器应用程序先创建一个特殊的 Socket,用于监听客户应用程序的连接请求,然后再创建新的Socket来完成连接。从客户和服务器两端读取该连接,直到一个需要处理的报文到来为止。以下C++程序将封装这些功能,这样所有应用程序需要完成的只是创建一个Socket连接,然后处理到来的报文。这将包括一个新的服务器Socket类、新客户端Socket类和新的报文队列类。
创建新的服务器Socket类程序的框架如下。第1个函数ListenEx()用于通知Socket开始监听客户应用程序。第2个函数OnAccept()在接收到连接请求时被调用。在其中创建新的Socket,并立刻设置它开始从客户应用程序读取报文,这些是通过调用第3个函数RecvThread()来完成的,该函数位于它自己的线程中。
[C++程序]
[ListenEX()函数]
第7题:
A.如果连接成功,则可以通过此Socket对象进行通讯;
B.如果连接成功,则重新创建一个Socket对象用于通讯;
C.向指定的IP地址和端口号进行连接尝试;
D.创建一个Socket对象;
E.首先通过网络扫描工具扫描服务器端是否已经开通;
第8题:
对编写程序而言,Socket的工作过程不同的是
A.创建Socket
B.打开连接到Socket的输入/输出流
C.按某个协议对Socket进行读/写操作
D.关闭Socket
第9题:
1Socket的工作流程是( )。 ①打开连接到Socket的输入/输出 ②按某个协议对Socket进行读/写操作 ③创建Socket ④关闭Socket
A.①③②④
B.②①③④
C.③①②④
D.①②③④
第10题:
此题为判断题(对,错)。