【Java 网络编程】客户端 Socket 创建
文章目錄
- I TCP 無代理或無參構造函數
- II 創建 Socket 時指定代理
- III 創建 Socket 時直接指定服務器地址和端口號
- IV 創建 Socket 時直接指定服務器地址和端口號 并綁定本地IP地址和端口號
- V 創建無參 Socket 綁定地址
I TCP 無代理或無參構造函數
Socket socket = new Socket(Proxy.NO_PROXY);
創建 Socket 對象 , 傳入 Proxy.NO_PROXY 參數 , 代表該參數沒有代理模式 ; 該構造函數與下面的無參構造方法是等價的 ;
Socket socket = new Socket();II 創建 Socket 時指定代理
1. 代理構造函數 : 下面是代理創建的構造函數的方法原型 , 其中的 Type type 是代理類型 , SocketAddress sa 是代理的地址和端口號 ;
public Proxy(Type type, SocketAddress sa)2. 代理類型選擇 : DIRECT 指的是直連模式 , 即該模式下沒有代理 ; HTTP 代表高層級的協議如 HTTP 或者 FTP 協議 ; SOCKS 代表了 SOCKS4 或 SOCKS5 協議
/*** Represents the proxy type.** @since 1.5*/public enum Type {/*** Represents a direct connection, or the absence of a proxy.*/DIRECT,/*** Represents proxy for high level protocols such as HTTP or FTP.*/HTTP,/*** Represents a SOCKS (V4 or V5) proxy.*/SOCKS};3. 代理 Socket 示例 : 創建代理 , 并使用代理創建 Socket 示例 ; 通過代理服務器暴露的端口號 , 本地發送的數據先發送到代理服務器上 , 然后通過代理服務器發送和接收數據 ;
//創建代理對象 , 所有的數據通過Proxy proxy = new Proxy(Proxy.Type.HTTP,new InetSocketAddress(Inet4Address.getByName("代理服務器地址"), 代理端口號));Socket socket = new Socket(proxy);III 創建 Socket 時直接指定服務器地址和端口號
創建 Socket 對象 , 傳入服務器端地址 , 和端口號 , 這是要連接的地址和端口號 ;
Socket socket = new Socket("192.168.1.100", 8888); Socket socket = new Socket(Inet4Address.getLocalHost(), 8888);IV 創建 Socket 時直接指定服務器地址和端口號 并綁定本地IP地址和端口號
1. IP 地址 : 客戶端 IP 地址 和 服務器端 IP 地址是一樣的 , 都是本地 IP 地址 ;
2. 端口號 : 服務器端端口號是 8888 , 客戶端端口號是 8887 ;
3. 指定內容 : 在創建 Socket 對象時 , 同時指定了服務器端的地址 , 服務器端端口號 , 客戶端 IP 地址 , 客戶端端口號 ;
4. 參數 : 下面的兩種構造函數 , 前兩個參數指定服務器端 IP 地址和端口號 , 后兩個參數指定綁定的客戶端的 IP 地址和端口號 ;
5. 自動連接服務器 : 該 Socket 對象創建成功后 , 會自動連接 , 如果連接失敗 , 會拋出異常 , 該 Socket 創建也會失敗 ;
Socket socket = new Socket("192.168.1.100", 8888, Inet4Address.getLocalHost(), 8887); Socket socket = new Socket(Inet4Address.getLocalHost(), 8888, Inet4Address.getLocalHost(), 8887);不推薦使用該方法 , 在 Socket 連接之前 , 要先進行各種參數設置 , 這種情況下無法進行詳細的參數配置 , 連接使用的都是默認參數 ;
V 創建無參 Socket 綁定地址
創建 Socket 對象時 , 推薦使用無參構造函數創建對象 , 并進行各種參數設置 , 在 Socket 創建之后 , 可以立刻綁定本地的 IP 地址和端口號 ;
//創建無參的 Socket 對象Socket socket = new Socket();//綁定本地的 IP 地址和端口號socket.bind(new InetSocketAddress(Inet4Address.getLocalHost(), 8887));總結
以上是生活随笔為你收集整理的【Java 网络编程】客户端 Socket 创建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Java 网络编程】客户端 Socke
- 下一篇: 【Java 网络编程】服务器端 Serv