62,614
社区成员
发帖
与我相关
我的任务
分享
getInetAddress
public InetAddress getInetAddress()返回套接字连接的地址。
//返回连接的Server端IP因为你的ServerScoket()就在本机上所以为127.0.0.1
返回:
此套接字连接到的远程 IP 地址;如果套接字是未连接的,则返回 null。
--------------------------------------------------------------------------------
getLocalAddress
public InetAddress getLocalAddress()获取套接字绑定的本地地址。
//返回这个Socket端所在机器的IP,当然是127.0.0.1了
返回:
将套接字绑定到的本地地址;如果尚未绑定套接字,则返回 InetAddress.anyLocalAddress()。
getPort
public int getPort()返回此套接字连接到的远程端口。
返回:
此套接字连接到的远程端口号;如果尚未连接套接字,则返回 0。
//因为你的客户端是 new Socket(127.0.0.1,8000) 远程的server端口为8000返回8000
--------------------------------------------------------------------------------
getLocalPort
public int getLocalPort()返回此套接字绑定到的本地端口。
//因为你的客户端是 new Socket(127.0.0.1,8000),没有指定绑定到那个IP和端口
//所以会自动选择这儿返回的端口可能是随机的,所以返回了系统自动绑定的3799
返回:
此套接字绑定到的本地端口号;如果尚未绑定套接字,则返回 -1。
// 下面的函数可参照着理解
bind
public void bind(SocketAddress bindpoint)
throws IOException将套接字绑定到本地地址。
如果地址为 null,则系统将挑选一个临时端口和一个有效本地地址来绑定套接字。
参数:
bindpoint - 要绑定到的 SocketAddress
Socket
public Socket(InetAddress address,
int port,
InetAddress localAddr,
int localPort)
throws IOException创建一个套接字并将其连接到指定远程地址上的指定远程端口。socket 会通
过调用 bind() 函数来绑定提供的本地地址及端口。
如果有安全管理器,则使用主机地址和 port 作为参数调用其 checkConnect 方法。这可能会导致
SecurityException 异常。
参数:
address - 远程地址
port - 远程端口
localAddr - 要将套接字绑定到的本地地址
localPort - 要将套接字绑定到的本地端口