Java网络编程从入门到精通(14):多种多样的建立网络连接的方式(二)

2014-11-23 23:56:54 · 作者: · 浏览: 1
;
}
finally
{
closeSocket(socket1);
closeSocket(socket2);
closeSocket(socket3);
closeSocket(socket4);
}
}
}


在上面代码中的最后通过finally关闭了被打开的Socket连接,这是一个好习惯。因为只有在将关闭Socket连接的代码写在finally里,无论是否出错,都会执行这些代码。但要注意,在关闭Socket连接之前,必须检查Socket对象是否为null,这是因为错误很可能在建立连接时发生,这样Socket对象就没有建立成功,也就用不着关闭了。


1. 手动绑定IP

当本机有多个IP时(这些IP可能是多块网卡上的,也可能是一块网卡上绑定的多个IP),在连接服务器时需要由客户端确定需要使用哪个IP。这样就必须使用Socket类的另外两个构方法来处理。下面让我们来看看这两个构造方法是如何来使用特定的IP来连接服务器的。

public Socket(String host, int port, InetAddress inetaddress, int localPort)

这个构造方法的参数分为两部分,第一部分为前两个参数:host和port,它们分别表示要连接的服务器的IP和端口号。第二部分为后两个参数:inetaddress和localPort。其中inetaddress则表示要使用的本地的IP,而localPort则表示要绑定的本地端口号。这个localPort这以设置为本机的任何未被绑定的端口号。如果将localPort的值设为0,jav