Re: [閒聊] TCP與UDP實作聊天室

看板java作者 (黑路)時間17年前 (2008/06/19 14:29), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
以前我也碰過用UDP開發的Internet聊天室 因為該聊天室完全沒有作資料傳輸確保的機制 所以每個人講話的時候都要重複傳送好幾次 直到得到對方的確認為止 因此若是要用UDP開發聊天室也是可以 只是必須要自己作資料傳輸確保控制 因為UDP也不確保order, 也不確保到達 因此這些資訊你必須放在datagram裡面自己做處理 所以比較麻煩 至於說resource的耗用 我覺得現在硬體資源便宜的狀況下 其實是直接用TCP來做會比較省力 因為你用UDP省下的resource應該會非常非常的少 或者若你想挑戰的話 可以用ICMP作聊天室 :P ※ 引述《sunnysmart (暱稱無效)》之銘言: :                                        : 改成了閒聊因該OK?                          :                                      : 看原PO很有毅力我來賺一下P幣好了                     :                                     : 以下有錯請用力鞭                             :                                       : 先稍為介紹一下TCP與UDP好了                  :                                      :     TCP(Transmission control protocol)                :     *支援穩定有序的資料傳送 正式的定義在RFC793中 : *當一方Disconnect時必須雙方都Disconnect才能取消連線      :     *確保傳送的資料會送達                      :                                      :                                      :     UDP(User datagram protocol)         :     *讓程式可以在不需要建立連線的情況下送出封裝的IP封包       :     *正式的定義在RFC768文件中                    :     *沒有做流量控制,錯誤控制                   :                                      : 總結:TCP就像是打電話一樣 UDP就像是傳簡訊一樣 :    TCP:server端與client端分明 反之UDP較模糊 :                                      :                                        : 實作:                               :    要開發的話我會選用TCP                         :    原因:                                :       *UDP因不需建立連線 我哪知道在線人數有幾人       :        或許有人會說傳用UDP 上線就用TCP與server連線         :        好麻煩阿 用TCPㄧ種就好了                   :       *UDP會有collision問題存在 要另外寫collision 的處理     :        應該是會有吧                        :       *TCP確保傳送的訊息一定送達,若無法送達也會回報         :                                        :                                       : 應該就以上這些了吧  我想不到別的  留給其他人補充           :                                       :                                       -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.211.32.194

06/19 15:44, , 1F
推用ICMP做聊天室...
06/19 15:44, 1F
文章代碼(AID): #18MVpHxF (java)
文章代碼(AID): #18MVpHxF (java)