一般地,Socket可分为TCP套接字和UDP套接字,再进一步,还可以被分为服务器端套接字跟客户端套接字。这节我们先关注TCP套接字的服务器端socket,Java中ServerSocket类与之相对应,这个类主要用于如何在服务器端创建一个套接字服务,建立一个通信终端,被动地等待客户端的连接,一旦有数据进入被监听的端口,这个类将能接收这些数据。
ServerSocket类位于java.net包中,它有很多方法,包括创建socket实例、绑定端口,阻塞接收连接等。一般服务器按以下几步进行工作:
① 建一个ServerSocket实例,绑定监听指定的本地端口,这样服务器套接字就能接收指定端口的连接。
② ServerSocket实例调用accept()方法进行阻塞,获取下一个客户端连接,如果有客户端连接则创建一个socket并返回。
③ 对②返回的socket进行处理,一般使用socket实例的InputStream对象跟OutputStream对象与客户端进行通信。
④ 通信完后,使用socket的close方法关闭客户端套接字连接。
⑤ 循环执行②到④,不断接收下一个客户端连接。
Serversocket到底是如何进行工作的?底层究竟是怎么运作的?应用层的操作是怎样反应到系统底层的?图2-3-2-2试图说明ServerSocket的工作原理。以虚线分割,上层为应用层&#
socket系列之服务器端socket——ServerSocket类
最新推荐文章于 2024-07-13 11:10:41 发布
本文介绍了Java中的ServerSocket类在创建TCP服务器端套接字时的作用和工作原理。通过ServerSocket实例绑定端口并监听,服务器等待客户端连接,accept()方法用于阻塞接收连接,然后通过socket进行数据通信。详细阐述了从应用层到系统底层的交互过程,涉及三次握手和连接建立。最后提到了作者的新书《Tomcat内核设计剖析》的预售信息。
摘要由CSDN通过智能技术生成