※ 引述《lupig (請問哪有賣<自信>?)》之銘言:
: 我這邊主要是server 端會紀錄 client 端連上來的ip和port
: 我把port當 key...因為即使同一台電腦連上來的PORT也會不ㄧ樣
鎖定IP只能確定是同一台電腦(假設沒有NAT來亂)
加上port才能確定是同一支程式。
既然如此,你的key一定就是這兩個去合成。
至於log連上來的程式資訊,那應該是另外一個問題,如果你的架構必須
在你考慮如何建立mapping關係時也要考慮log的問題,那就是你的架構設
計不良。
在server : client 是 1 : n 的情況下還有另外一種方法能用。
利用類似tomcat 處理 sessionid的作法。
1. identity由server給予client。
2. 每次client連線時如果server從連線資訊中找不到identity,就create新
的對方。
3.如果找得到identity,就從map中把該id對應的session拿出來用。
當然,這種架構在pure client pull model會工作的很好(廢話,照抄哪有不好的?)
但如果你需要server去push特定訊息給特定client,那這種架構可能就會不太適合。
而如果是 S : C = m : n 的情況那就更不同了,通常就會像是p2p軟體那樣的協定
結構。
--
『你知道人有腦子,所以不要只是單純的滿足它,偶爾也要使用它啊。』
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.20.172