public class Socket extends Object
此类实现客户端套接字(也可以就叫“套接字”)。套接字是两台机器之间的通信端点。
套接字的实际工作由 SocketImpl
类的实例执行。应用程序通过更改创建套接字实现的套接字工厂可以配置它自身,以创建适合本地防火墙的套接字。
一、构造函数
Socket(InetAddress address, int port)
创建一个流套接字并将其连接到指定 IP 地址的指定端口号。
Socket(String host, int port)
创建一个流套接字并将其连接到指定主机上的指定端口号。
Socket(String host, int port, InetAddress localAddr, int localPort)
创建一个套接字并将其连接到指定远程主机上的指定远程端口。
二、常用方法
1、public void connect(SocketAddress endpoint)
throws IOException
- 将此套接字连接到服务器。
-
-
参数:
-
endpoint
-SocketAddress
抛出:
-
IOException
- 如果在连接期间发生错误 -
IllegalBlockingModeException
- 如果此套接字具有关联的通道并且该通道处于非阻塞模式 -
IllegalArgumentException
- 如果端点为 null 或者此套接字不支持 SocketAddress 子类
-
2、public void bind(SocketAddress bindpoint)
throws IOException
-
将套接字绑定到本地地址。
如果地址为
null
,则系统将挑选一个临时端口和一个有效本地地址来绑定套接字。
3、public InetAddress getInetAddress()
- 返回套接字连接的地址。
-
-
返回:
-
此套接字连接到的远程 IP 地址;如果套接字是未连接的,则返回
null
。
-
此套接字连接到的远程 IP 地址;如果套接字是未连接的,则返回
4、public InetAddress getLocalAddress()
- 获取套接字绑定的本地地址。
-
-
返回:
-
将套接字绑定到的本地地址;如果尚未绑定套接字,则返回
InetAddress.anyLocalAddress()
。
-
将套接字绑定到的本地地址;如果尚未绑定套接字,则返回
5、public int getPort()
- 返回此套接字连接到的远程端口。
-
-
返回:
- 此套接字连接到的远程端口号;如果尚未连接套接字,则返回 0。
6、public int getLocalPort()
- 返回此套接字绑定到的本地端口。
-
-
返回:
- 此套接字绑定到的本地端口号;如果尚未绑定套接字,则返回 -1。
7、