关于 Socket 通信编程,以下描述错误的是:( )
//server
ServerSocket server = new ServerSocket(port);
Socket socket = server.accept();
InputStream inputStream = socket.getInputStream();
inputStream.close();
socket.close();
server.close();
//client
Socket socket = new Socket(host, port);//server hostip,ort
socket.getOutputStream();
outputStream.close();
socket.close();
描述错误的是:
客户端通过new ServerSocket()创建TCP连接对象
原因如下:
在Socket通信编程中,ServerSocket类是用来在服务器端创建并监听指定端口的对象,而不是在客户端使用的。客户端需要使用Socket类来创建一个Socket对象,以便连接到服务器。Socket类代表了一个客户端与服务器之间的一个通信端点或者套接字。
所以,服务器端通过new ServerSocket()创建TCP连接对象(准确来说,是创建一个用于监听TCP连接的服务器套接字),然后通过该对象的accept()方法等待客户端的连接请求,并在接收到请求后返回一个与客户端通信的Socket对象。
而客户端则通过new Socket()方法来创建一个Socket对象,并指定要连接的服务器地址和端口号,从而与服务器建立连接。
因此,客户端不会(也不应该)使用ServerSocket来创建TCP连接对象。这是服务器端的职责。