在 Java 中,Socket 编程是通过 java.net 包中的 Socket 类和 ServerSocket 类实现的。下面列举了一些 Socket 编程中常用的函数及其解释:
-
Socket 类
Socket(String host, int port)
:构造一个新的 Socket 对象,并将其连接到指定主机上的指定端口号。InputStream getInputStream()
:返回此 Socket 的输入流。OutputStream getOutputStream()
:返回此 Socket 的输出流。void close()
:关闭此 Socket。
-
ServerSocket 类
ServerSocket(int port)
:创建绑定到特定端口的服务器套接字。Socket accept()
:侦听并接受到此服务器套接字的连接。void close()
:关闭此 ServerSocket。
通常,Socket 编程中的客户端和服务端都会使用以上函数来完成基本的数据传输。例如,客户端可以使用 Socket(String host, int port)
连接到指定的主机和端口,然后使用 getInputStream()
和 getOutputStream()
分别获取输入输出流进行数据传输,最后使用 close()
关闭 Socket。而服务端则需要先创建一个 ServerSocket 并绑定到指定的端口,在循环中调用 accept()
等待客户端的连接请求,然后使用返回的 Socket 实例进行数据传输,最后通过 close()
关闭 ServerSocket。
除此之外,在 Socket 编程中还有一些其他常用的函数,例如 setSoTimeout(int timeout)
设置 Socket 超时时间,setTcpNoDelay(boolean on)
设置是否启用 Nagle 算法等等。