關於網路程式設計問題,看這個就夠啦!!!

2021-10-04 08:11:18 字數 2459 閱讀 8571

網路:網際網路/區域網

通訊:資料傳輸

協議:規則規範

tcp協議:傳輸控制協議(transmission control protocol)

ip協議:網際網路協議(internet protocol)

tcp協議:傳輸控制協議,特點是:面向有連線,資料傳輸之前必須先建立連線,底層是」三次握手「;

優點是:保證資料是完整的。缺點:效能較低。

udp協議:使用者資料報協議,特點是:面向無連線,傳輸資料時,不需要建立連線,直接將資料傳送。

優點是:效能較高。缺點:不能保證資料的完整性和安全性。

ipv4:由32位二進位制組成。

ipv6:由128位二進位制組成

客戶端:個人裝置(手機、電腦等)

伺服器端:**、京東等

構造方法: public socket(string ip,int port);//伺服器的ip位址,伺服器的埠號

此構造方法會根據我們傳入的引數,自動去連線伺服器。如果成功,物件正常建立;如果連線失敗,直接丟擲異常。

常用方法:

public outputstream getoutputstream ();//獲取連線中的輸出流

public inputstream getinputstream ();//獲取連線中的輸入流

public void shutdownoutput();//關閉連線中的輸出流

public void shutdowninput();//關閉連線中的輸入流

public void close();//關閉客戶端

構造方法: public serversocket(int port);//指定伺服器的埠號

常用方法:

public socket accept();//接受連線到伺服器的socket物件,如果沒有客戶端,會阻塞。

public void close();//關閉伺服器物件

注意:伺服器獲取到客戶端物件後,也可以獲取連線中的兩個流,但是是相對於伺服器而言的。

public

class

socketdemo

}

public

class

serversocketdemo

}

客戶端給伺服器發資訊,伺服器給客戶端回資訊。

客戶端:

public

class

socketdemo1

}

伺服器端:

public

class

serversocketdemo1

}

需求:

使用tcp協議實現客戶端和服務端互相傳送訊息。

客戶端傳送一條訊息,伺服器讀取之後,返回一條訊息給客戶端,客戶端讀取伺服器返回的訊息之後,又傳送一條訊息…迴圈執行,直到輸入exit。

要求:1. 訊息內容通過鍵盤輸入

2. 要求伺服器端和客戶端都使用字元流的方式傳送和接收資料。

使用bufffferedreader方法readline()讀取一行資料。

使用bufffferedwriter方法write(「字串的資料」)傳送資料。

客戶端:

public

class

demo01

bufferedwriter.

write

(s);

//換行

bufferedwriter.

newline()

;//重新整理

bufferedwriter.

flush()

;//讀取伺服器返回的訊息

system.out.

println

("伺服器端說:"

+ bufferedreader.

readline()

);}//釋放資源

bufferedreader.

close()

; bufferedwriter.

close()

; socket.

close()

;}}

伺服器端:

public

class

demo02

//寫出資料

bufferedwriter.

write

(line)

;//換行

bufferedwriter.

newline()

; bufferedwriter.

flush()

;}}}

【重點掌握】

在使用位元組輸入流時,需要建立位元組陣列來實現讀取資料。

在使用位元組輸出流時,需要呼叫getbytes()方法寫出資料。

看看這個StringBuffer的問題

提供乙個方法 public static void getbuffer stringbuffer x,stringbuffer y public static void main string args stringbuffer x new stringbuffer x stringbuffer y...

vscode 終端無法輸入問題 看這個就行了

前幾天遇到了終端無法輸入問題,問度娘很多都是告訴你 管理員執行什麼的,博主試過好像沒啥用,自己研究了一番,終於折騰半天終於是折騰好了,在這裡給大家提供幾種靠譜的解決方案 主要是更改shell 配置 方法1 使用場景是 開啟終端後 命令列列印了一些配置資訊 凡是游標不自動顯示 隨便輸入一行 回車 後 ...

大家幫忙看看這個多執行緒有問題沒

整個流程是這樣的,迴圈從乙個檔案中讀取資料,每讀6萬條後就要暫停,啟動三個執行緒 每次僅允許三個執行緒同時處理 來處理這6萬條資料,處理結束後,再繼續讀。迴圈這樣直到檔案中資料全部處理完。大家幫忙看看,有什麼問題沒,例如處理流程 併發。等方面,多謝!public class copyoftest c...