這種方式是最常用的
<!
<!
這是最常用的構造方法
public Socket(String host
(
這個構造方法和第一種構造方法類似
public Socket(InetAddress inetaddress
(
這個構造方法和第一種構造方法差不多
(
這個構造方法和第三種構造方法的flag標記的含義一樣
下面的代碼演示上述
package mysocket;
import java
public class MoreConnection
{
private static void closeSocket(Socket socket)
{
if (socket != null)
try
{
socket
}
catch (Exception e) { }
}
public static void main(String[] args)
{
Socket socket
try
{
// 如果將改成其它不存在的域名
將拋出UnknownHostException錯誤
// 測試public Socket(String host
socket
System
// 測試public Socket(InetAddress inetaddress
socket
System
// 下面的兩種建立連接的方式並不建議使用
// 測試public Socket(String host
socket
System
// 測試public Socket(InetAddress inetaddress
socket
System
}
catch (UnknownHostException e)
{
System
}
catch (IOException e)
{
System
}
finally
{
closeSocket(socket
closeSocket(socket
closeSocket(socket
closeSocket(socket
}
}
}
在上面代碼中的最後通過finally關閉了被打開的Socket連接
當本機有多個IP時(這些IP可能是多塊網卡上的
public Socket(String host
這個構造方法的參數分為兩部分
public Socket(InetAddress inetaddress
這個構造方法和第一個構造方法基本相同
在下面的代碼中將使用這兩個構造方法來做一個實驗
package mysocket;
public class MoreConnection
{
public static void main(String[] args)
{
try
{
InetAddress localAddress
InetAddress localAddress
// 如果將localAddress
Socket socket
System
Socket socket
System
// 下面的語句將拋出一個IOException錯誤
Socket socket
System
socket
socket
socket
}
catch (Exception e)
{
System
}
}
}
運行上面代碼的輸出結果如下
socket
socket
Connection timed out
從上面的輸出結果可以看出
二
Socket類不僅可以通過構造方法直接連接服務器
Socket類的connect方法和它的構造方法在描述服務器信息(IP和端口)上有一些差異
Socket socket = new Socket();
nnect(new InetSocketAddress(host
這個connect方法和第一個connect類似
在使用Socket類的構造方法連接服務器時可以直接通過構造方法綁定本地IP
package mysocket;
import
public class MoreConnection
{
public static void main(String[] args)
{
try
{
Socket socket
Socket socket
Socket socket
nnect(new InetSocketAddress(
socket
System
/*
將socket
socket
*/
socket
nnect(new InetSocketAddress(
socket
System
socket
nnect(new InetSocketAddress(
socket
System
}
catch (Exception e)
{
System
}
}
}
上面的代碼的輸出結果為
socket
socket
Connection timed out
在上面代碼中的socket
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26913.html