首页 理论教育 Java语言程序设计-ServerSocket类的使用

Java语言程序设计-ServerSocket类的使用

时间:2023-10-18 理论教育 版权反馈
【摘要】:ServerSocket类是与Socket类相对应的用于表示通信双方中的服务器端,用于在服务器上开一个端口,被动地等待数据并建立连接进行数据交互。ServerSocket的构造方法如表9-2所示。创建ServerSocket时可能会抛出IOException异常,所以要进行异常捕捉。表9-3 ServerSocket常用方法调用accept()方法会返回一个和客户端Socket对象相连接的Socket对象,服务器端的Socket对象使用get OutputStream()方法获得的输出流将指定客户端Socket对象使用getInputStream()方法获得那个输入流。

Java语言程序设计-ServerSocket类的使用

ServerSocket类是与Socket类相对应的用于表示通信双方中的服务器端,用于在服务器上开一个端口,被动地等待数据(使用accept()方法)并建立连接进行数据交互。

服务器套接字一次可以与一个套接字连接,如果多台客户端同时提出连接请求,服务器套接字会将请求连接的客户端存入队列中,然后从中取出一个套接字与服务器新建的套接字连接起来。若请求连接大于最大容纳数,则多出的连接请求被拒绝;默认的队列大小是50。

ServerSocket的构造方法如表9-2所示。

表9-2 ServerSocket的构造方法

在上述方法的参数中,port 指的是本地TCP 端口,backlog 指的是监听backlog,bind Addr指的是要将服务器绑定到的Inet Address。

创建ServerSocket时可能会抛出IOException异常,所以要进行异常捕捉。如下所示为使用8111端口的ServerSocket实例代码:

ServerSocket的常用方法如表9-3所示。(www.xing528.com)

表9-3 ServerSocket常用方法

调用accept()方法会返回一个和客户端Socket对象相连接的Socket对象,服务器端的Socket对象使用get OutputStream()方法获得的输出流将指定客户端Socket对象使用getInputStream()方法获得那个输入流。同样,服务器端的Socket 对象使用的getInputStream()方法获得的输入流将指向客户端Socket对象使用的get Output Stream()方法获得的那个输出流。也就是说,当服务器向输出流写入信息时,客户端通过相应的输入流就能读取,反之同样如此。

【例9-2】 了解上面的基础知识后,下面使用ServerSocket类在本机上创建一个使用端口8888的服务器端套接字,实例代码如下所示:

如上述代码所示,在成功建立8888端口的服务器端套接字之后,如果没有客户端的连接请求,则accept()方法为空,所以不会输出“成功建立与客户端的连接”,运行结果如下所示:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈