看板 java 關於我們 聯絡資訊
※ 引述《rock1985 (疾風)》之銘言: : 小弟最近再重練以前寫過的聊天室 : 不過太久遠了所以感覺有點不熟悉 : 想請問一下大家 我現在要做1對1的聊天 : 如果只用single thread 去開socket : 可以做到完全的一來一往的聊天室嗎?? : 我現在寫到的部分server可以回傳client的輸入 : 但是我做了幾種方式都沒有辦法讓server端也可以打字和client對話 : 不然就是講一講會卡在中間 : 下面是我的code,想請教大家server端要怎麼修改才可以讓兩邊正常自由的對話呢 : server: : http://pastie.org/2886576 : client: : http://pastie.org/2886578 : 謝謝大家 不好意思,想借這篇問一下 連線時開的執行緒數目到底有什麼影響? 之前我寫聊天室時 是開一個使用者開兩條執行緒 兩邊可以同時收、發訊息 那.... 效能或是系統上會不會有什麼問題,或是有需要顧慮的地方? 如果一個使用者兩條的話 5000人在線就會有10000條執行緒同時在運作 聽起來蠻嚇人的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.140.89.200
lovdkkkk:切換很浪費時間 11/19 13:28
lovdkkkk:儲存很浪費記憶體 11/19 15:55
LaPass:那像Ptt那種十萬人在線到底是怎麼辦到的? 11/19 17:27
LaPass:雖然語言、系統都有差別,但應該有個原則之類的吧? 11/19 17:29
aleelyle:一條thread可以不只服務一個user 而且在線!=需要馬上服務 11/19 19:49
aleelyle:就像5個服務生可以服務100個人 11/19 19:54
LaPass:了解 感謝 11/19 20:29
lovdkkkk:五樓專業 11/19 20:56
dou0228:Java 有 NIO, 可選用 Apache Mina or JBoss Netty 11/19 22:07
dou0228:C 則用 libevent or libev 11/19 22:11
LaPass:謝謝關鍵字 11/20 09:03