java實(shí)現(xiàn)一對(duì)一聊天 在JAVA中使用UDP協(xié)議只能是服務(wù)端給客戶端發(fā)送文件嗎?能實(shí)現(xiàn)互傳嗎?
在JAVA中使用UDP協(xié)議只能是服務(wù)端給客戶端發(fā)送文件嗎?能實(shí)現(xiàn)互傳嗎?1,在服務(wù)器端如何維護(hù)已經(jīng)登錄的用戶列表; 2,反向通訊,通過服務(wù)器端給客戶端發(fā)送文件; 3,實(shí)現(xiàn)客戶端與服務(wù)器端的Chat聊天
在JAVA中使用UDP協(xié)議只能是服務(wù)端給客戶端發(fā)送文件嗎?能實(shí)現(xiàn)互傳嗎?
1,在服務(wù)器端如何維護(hù)已經(jīng)登錄的用戶列表; 2,反向通訊,通過服務(wù)器端給客戶端發(fā)送文件; 3,實(shí)現(xiàn)客戶端與服務(wù)器端的Chat聊天功能(稍加改動(dòng)可轉(zhuǎn)化為C->S->C的聊天程序) 4,如何使用IdTCPServer和IdTCPClient控件 5,初步實(shí)現(xiàn)線程命令方式,在傳送文件的時(shí)候不會(huì)讓服務(wù)器端停止響應(yīng)。
UDP 是一種不可靠的傳輸連續(xù)數(shù)據(jù)的協(xié)議。這意味著傳輸過程中會(huì)有丟包,而且接收到包的次序也是隨機(jī)的。這意味著以上應(yīng)用在其每次運(yùn)行時(shí)(所得到的文件)并不是正確的和完整的。以下是關(guān)于兩個(gè)經(jīng)常發(fā)生的
問題的原因
以及可行解決方案的描述。如果在文件傳輸
過程中兩個(gè)包接收順序錯(cuò)誤,而寫入文件的順序是按接收順序來的。這將造成接收文件損壞。對(duì)于這種問題的解決方案是每次傳輸時(shí)定義一個(gè)序列號(hào)。這可以讓 Receiver 按照正確的順序來存儲(chǔ)這些包,不管它們到達(dá)的先后次序。 喜歡的點(diǎn)個(gè)關(guān)注!