此类的构造方法有:
1、ServerSocket() 创建非绑定服务器套接字。
此空的构造函数创建了一个没有绑定到任何端口的ServerSocket。之所以会这样,是因为有许多的设置项在绑定了端口之后就没法使用了。如果先创建没有绑定任何端口的连接,然后使用
bind(SocketAddress endpoint)
将 ServerSocket 绑定到特定地址(IP 地址和端口号)。
bind(SocketAddress endpoint, int backlog)
将 ServerSocket 绑定到特定地址(IP 地址和端口号)。
2、ServerSocket(int port) 创建绑定到特定端口的服务器套接字。
3、ServerSocket(int port, int backlog)
指定监听的特定端口,并且指定ServerSocket的最大连接数。
4、ServerSocket(int port, int backlog, InetAddress bindAddr)
使用指定的端口、侦听 backlog 和要绑定到的本地 IP 地址创建服务器。
对于多网卡的服务器,可以指定当前的ServerSocket绑定到哪个ip上面。
方法摘要:
accept() 侦听并接受到此套接字的连接。
Socket socket = ServerSocket.accept();这样就可以创建针对客户端的字节流来读取客户端的数据。
getInetAddress() 返回此服务器套接字的本地地址。
int getLocalPort() 返回此套接字在其上侦听的端口。
SocketAddress getLocalSocketAddress() 返回此套接字绑定的端点的地址,如果尚未绑定则返回 null。
void setReuseAddress(boolean on) 启用/禁用 SO_REUSEADDR 套接字选项。
此方法参数为true,false。如果网络上有数据依旧向旧的ServerSocket发送数据,那么是否允许重启的ServerSocket立即使用旧ServerSocket的端口。如果设置为false,那么重启的ServerSocket就会报出BindException异常。
void setSoTimeout(int timeout) 启用/禁用带有指定超时值的 SO_TIMEOUT,以毫秒为单位。
void setReceiveBufferSize(int size) 为从此 ServerSocket 接受的套接字的 SO_RCVBUF 选项设置默认建议值。
int getReceiveBufferSize()
获取此 ServerSocket 的 SO_RCVBUF 选项的值,该值是将用于从此 ServerSocket 接受的套接字的建议缓冲区大小。
boolean getReuseAddress() 测试是否启用 SO_REUSEADDR。
int getSoTimeout() 重新恢复 SO_TIMEOUT 的设置。
boolean isBound() 返回 ServerSocket 的绑定状态。
boolean isClosed() 返回 ServerSocket 的关闭状态。
String toString() 作为 String 返回此套接字的实现地址和实现端口。
还有其他几个方法,以后了解,上面是常用的。
分享到:
相关推荐
通过本文档的学习,我们了解了`ServerSocket`的各种构造方法及其参数的意义,同时也深入探讨了如何利用线程池来高效处理客户端的连接请求。这对于构建高性能的网络应用程序非常重要。在实际开发中,合理地设置`...
Java学习总结是一个全面而深入的过程,它涵盖了编程基础、面向对象设计、集合框架、多线程、网络编程、I/O流、数据库操作、异常处理、反射机制、JVM优化等多个方面。以下是对这些知识点的详细阐述: 1. **Java编程...
总结: Java中的Socket和ServerSocket是构建网络应用程序的基础,它们提供了客户端与服务器之间双向通信的能力。理解异常处理、交互流程、状态检查以及如何正确关闭连接是使用这两个类的关键。在设计网络应用程序时...
### COEJava网络编程学习总结 #### 一、TCP与UDP网络编程概述 在COEJava网络编程学习总结中,重点介绍了两种常见的网络通信协议——TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram ...
总结来说,Java IO流是一个庞大的体系,覆盖了从基础的文件操作到复杂的网络通信,理解并熟练掌握这一部分将极大地提升Java开发者的技能。通过学习和实践,开发者可以灵活地处理各种数据输入输出场景,为应用程序...
这份"全面的Java学习总结笔记"包含了从基础到高级的大量知识点,旨在帮助学习者构建坚实的Java编程基础。 首先,Java的学习始于基础。这包括理解Java语言的基本语法,例如变量、数据类型(如整型、浮点型、字符型和...
### JAVA学习笔记:Socket通信详解 #### 一、Socket通信概念与原理 Socket通信是Java网络编程中的核心概念,它提供了在不同计算机之间进行数据交换的能力。Socket可以被视为两个程序间进行通信的端点,一个Socket...
### Java中的网络编程学习总结 #### 一、网络基础 在网络编程中,了解网络基础知识是非常重要的,这有助于更好地理解Java网络编程的相关概念和技术。 ##### 1. 什么是计算机网络 计算机网络是指将分布在不同地理...
在这个“java小项目”中,我们可以看到作者通过实践来总结和巩固自己的Java技能,特别是涉及到了Socket编程和线程管理这两个关键领域。 Socket编程是网络编程的基础,它允许程序之间通过网络进行通信。在Java中,`...
最后,Java的网络编程涉及到Socket编程,通过ServerSocket和Socket类,我们可以创建客户端和服务器端的连接,实现数据的传输。TCP和UDP是两种主要的网络协议,TCP提供可靠的连接,而UDP则强调速度和效率。 以上就是...
Java语言学习知识点总结 Java是一种广泛使用的面向对象的编程语言,以其“一次编写,到处运行”的特性而闻名。本资源主要涵盖了Java语言的基础知识,帮助初学者系统地学习和理解Java编程。 1. **Java环境配置**:...
【接口学习总结】 接口在Java中是一种完全抽象的类,不包含任何实现。它定义了一组方法签名,实现了接口的类必须实现这些方法。接口是多继承的唯一途径,一个类可以实现多个接口,从而实现多重抽象行为。Java 8引入...
总结一下,`java socketServer socket` 是Java网络编程的基础元素,`MathServer.java` 和 `Client.java` 分别表示服务端和客户端程序,它们通过Socket进行通信。学习和理解这部分内容对于开发基于Java的分布式系统或...
Java知识点总结学习主要涵盖两大部分:Java编程语言和与之相关的Web开发技术,如HTML和JSP。在Java世界中,深入理解基础知识是至关重要的,这包括但不限于语法、类、对象、封装、继承、多态等核心概念。下面将详细...
ServerSocket serverSocket = new ServerSocket(12345); Socket clientSocket = serverSocket.accept(); ``` 除了基础的Socket通信,Java还提供了多路复用技术,如NIO(非阻塞I/O)和AIO(异步I/O)。NIO通过...
Java提供了丰富的网络编程API,如Socket、ServerSocket等,可以用来创建客户端和服务端应用。了解TCP和UDP协议的区别,以及如何使用Java进行网络通信,是开发分布式系统的基础。 七、反射机制 Java反射机制允许我们...
这份名为"知识点总结word.zip"的压缩包文件,很可能包含了一份精心整理的Java技术学习指南,帮助我们系统地理解和掌握这个强大的编程语言。下面,我们将详细探讨Java的核心概念和技术点,希望能为你的学习之路提供...
**六、接口学习总结** 在Java中,接口是一种定义行为的方式,它允许类实现多个功能。笔记会讲解接口与抽象类的区别,以及如何使用默认方法和静态方法增强接口的功能。 **七、GUI AWT** 图形用户界面(GUI)是使...
标题“JAVA学习笔记4”和描述“JAVA语言学习路上的笔记4,通过实际结合总结,使用Eclipse编辑代码”所涉及的知识点是Java语言的学习和实践,尤其是涉及到Java网络程序设计。这部分内容中提及了TCP网络编程以及相关的...