ETH官方钱包

前往
大廳
主題

【JAVA筆記】網(wǎng)路傳輸(Socket)

LF(小魚) | 2021-01-17 00:28:03 | 巴幣 0 | 人氣 399

一、介紹:
要進(jìn)行網(wǎng)路傳輸,在Java裡最簡單的方式就是使用Socket了,至於Socket詳細(xì)運(yùn)作原理就自行上網(wǎng)查詢,這裡只講解使用的部分

既然要傳輸資訊,當(dāng)然要先有一個(gè)伺服器(Server)嘛,那就是ServerSocket,用法如下,傳入值放入port就可以了,port的允許值從1024到65535,至於原因自己查

現(xiàn)在有了伺服端了,也要有個(gè)個(gè)人端來連接嘛,用法如下,傳入值放入ip地址及port即可
備註:127.0.0.1指本機(jī)

ServerSocket不能直接與Socket溝通,那我就請ServerSocket建立一個(gè)可以與個(gè)人端溝通的Socket就好了

要注意的是,一個(gè)伺服的Socket對一個(gè)個(gè)人的Socket,如果要與複數(shù)個(gè)個(gè)人端溝通,就必須請ServerSocket建立更多的Socket來與其他的個(gè)人端溝通,並且,要先使用ServerSocket.accept(),才可以在個(gè)人端呼叫new Socket("ip address", port);,否則個(gè)人端將會(huì)找不到伺服器
備註:呼叫ServerSocket.accept()時(shí),程式會(huì)等到接收到個(gè)人端的連結(jié)才會(huì)繼續(xù)動(dòng)作

(伺服端與個(gè)人端溝通另開一篇說明)

二、方法(ServerSocket)(只寫重要的):
accept() throws IOException : Socket
    建立一個(gè)與個(gè)人端溝通的Socket
close() throws IOException : void
    關(guān)閉伺服器
getSoTimeout() throws IOException : int
    獲取So Timeout時(shí)間
isClosed() : boolean
    是否已被關(guān)閉
setSoTimeout(int timeout) throws SocketException : void
    設(shè)定So Timeout時(shí)間(毫秒)(0為關(guān)閉)

三、方法(Socket)(只寫重要的)
close() throws IOException : void
    關(guān)閉Socket
getInputStream() throws IOException : InputStream
    獲取輸入流
getOutputStream() throws IOException : OutputStream
    獲取輸出流
getPort() : int
    獲取連接埠(port)
getSoTimeout() throws SocketException : int
    獲取So Timeout時(shí)間
isClosed() : boolean
    是否已被關(guān)閉
isConnected() : boolean
    是否已連接
isInputShutdown() : boolean
    輸入是否被關(guān)閉
isOutputShutdown() : boolean
    輸出是否被關(guān)閉
getKeepAlive() throws SocketException : boolean
    獲取是否SO_KEEPALIVE是否被啟用
setKeepAlive(boolean on) throws SocketException : void
    設(shè)定SO_KEEPALIVE是否啟用
setSoTimeout(int timeout) throws SocketException : void
    設(shè)定So Timeout時(shí)間(毫秒)(0為關(guān)閉)
shutdownInput() throws IOException : void
    關(guān)閉輸入
shutdownOutput()throws IOException : void
    關(guān)閉輸出

四、連結(jié):

創(chuàng)作回應(yīng)

相關(guān)創(chuàng)作

更多創(chuàng)作