TCP協議接收與傳送資料

2021-07-30 05:23:32 字數 1816 閱讀 7259

tcp:

建立連線通道

資料無限制

速度慢可靠

tcp協議傳送資料:

1:建立傳送端的socket物件 這一步如果成功,就說明連線已經建立成功了。

2:獲取輸出流,寫資料

3:釋放資源

public

static

void

main(string args) throws ioexception

tcp協議接收資料:1:建立接收端的socket物件

2:監聽客戶端連線。返回乙個對應的socket物件

3:獲取輸入流,讀取資料顯示在控制台

4:釋放資源

public

static

void

main(string args) throws ioexception

輸出:192.168

.1.104---我是傳送端

多執行緒實現接收端,多個傳送端的tcp傳送端:

public

static

void

main(string args) throws ioexception

// socket 禁用此套接字的輸出流。告訴接收端,資料已經傳送完畢,你不要堵塞了

s.shutdownoutput();

// 獲取接收端反饋過來的資料

bufferedreader brclient = new bufferedreader(new inputstreamreader(s.getinputstream()));

string str = brclient.readline(); // 阻塞,等待接收端資料傳送完畢

system.out.println(str);

// 釋放資源

br.close();

s.close();

}輸出:檔案已經上傳成功了

接收端:

public

static

void

main(string args) throws ioexception

}

接收端多執行緒的實現

public

class

servicethread

implements

runnable

@override

public

void

run()

// 給出反饋給傳送端

bufferedwriter bwserver = new bufferedwriter(new outputstreamwriter(s.getoutputstream()));

bwserver.write("檔案已經上傳成功了");

bwserver.newline();

bwserver.flush();

s.shutdownoutput();

// 釋放資源

bw.close();

s.close();

} catch (ioexception e)

}

結果:

注意:可以開啟多個傳送端進行,因為接收端一直在重複監聽

UDP協議接收資料與傳送資料

udp 把資料打包 資料有限制 不建立連線 速度快不可靠一些需要用到的方法 inetaddress 類 tring gethostaddress 返回 ip 位址字串 以文字表現形式 string gethostname 獲取此 ip 位址的主機名。static inetaddress getbyn...

基於TCP協議的傳送和接收端

基於tcp協議的傳送和接收端 tcp協議的接收端 using system.sockets 使用到tcplisten類 using system.threading 使用到執行緒 using system.io 使用到streamreader類 int port 8000 定義偵聽埠號 privat...

websocket傳送接收協議

一.websocket 接收資料 1 固定位元組 1000 0001 或1000 0010 區分是否是資料報的乙個固定 位元組 佔1個位元組 2 包長度位元組,第 1位是1,剩下 7為得到乙個整數 0,127 125 以內的長度直接表示就可以了 126表示後面兩個位元組表示大小 127 表示後面的 ...