Socket()
Socket(InetAddress address, int port) throws UnknowHostException, IOException
Socket(InetAddress address, int port, InetAddress localAddr, int localPort) throws IOException
Socket(String host, int port) throws UnknowHostException, IOException
Socket(String host, int port, InetAddress localAddr, int localPort) throws IOException
除了第一個(gè)不帶參數(shù)的構(gòu)造方法以外, 其他構(gòu)造方法都會(huì)試圖建立與服務(wù)器的連接, 如果連接成功, 就返回 Socket對(duì)象; 如果因?yàn)槟承┰蜻B接失敗, 就會(huì)拋出IOException .
boolean isConnection=socket.isConnected() && !socket.isClosed(); //判斷當(dāng)前是否處于連接
TCP_NODELAY: 表示立即發(fā)送數(shù)據(jù)
SO_RESUSEADDR: 表示是否允許重用socket所綁定的本地地址
SO_TIMEOUT : 表示接收數(shù)據(jù)時(shí)的等待超時(shí)時(shí)間 。 單位為毫秒,默認(rèn)值為0 , 表示永遠(yuǎn)等待。
SO_LINGER: 表示當(dāng)執(zhí)行 socket的close方法的時(shí)候,是否立即關(guān)閉底層的socket 。 這個(gè)單位是秒。
SO_SNFBUF: 發(fā)送數(shù)據(jù)的緩沖區(qū)大小
SO_RCVBUF: 接收數(shù)據(jù)的緩沖區(qū)大小
SO_KEEPLIVE: 表示對(duì)于長(zhǎng)時(shí)間處于空閑狀態(tài)的socket,是否要自動(dòng)把他關(guān)閉
OOBINLINE: 表示是否支持發(fā)送一個(gè)字節(jié)的tcp緊急數(shù)據(jù)
backlog : 輸入連接指示(對(duì)連接的請(qǐng)求)的最大隊(duì)列長(zhǎng)度被設(shè)置為 backlog 參數(shù)。如果隊(duì)列滿時(shí)收到連接指示,則拒絕該連接。
備注:具體各參數(shù)選項(xiàng)的講解下一個(gè)分析說明
參考來源:
http://my.oschina.net/u/725800/blog/303634
http://m.survivalescaperooms.com/rond/p/3565113.html
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注