Re: [問題] client/server 多重連線問題

看板java作者 (克理斯@Internet)時間17年前 (2008/10/08 03:35), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
: : 第一次在板上發文 如有不當請各位見諒 : : 一般client/server都是 1對1 或 多個client對1個server : : 目前因為程式功能需要 想請問各位有沒有辦法 : : 1個client 連結多個server?? : : (不需同時 簡單講就是很多SERVER開著 一個CLIENT可以"搜尋"取得SERVER資訊) : : P.S.其實目前在弄的是J2ME的藍芽連線 不過想說如果JAVA SOCKET 做得到的話 : : 或許藍芽的方法也可以出來 所以麻煩各位給予指點了!!不一定要藍芽的!! : : P.S.2 之前有試過以迴圈方式進行(重新執行CLIENT) 不過他似乎會一直連到同一個 : : P.S.3 目前SERVER CLIENT在同一之程式上面 簡單說一個程式在執行的時候 : : SERVER一直是開著的 CLIENT會去連別人的SERVER : : (理想中的目標是CLIENT能夠個別連完範圍中出現的SERVER : : 並再每個SERVE取得一些資訊) : : 拜託各位了/(_ _)\ 查過書跟網路一直沒頭緒 : ==" : 請讓我跳過你的藍芽問題,因為我很落後 : 到現在還沒用過藍芽這玩意(更不用說寫過了 lol) : 你用來上 BBS 的 KKMan 或是 PCMan 或是 ZTerm(Java 寫的) : 都是一個 client 連上多個 server,不是嗎? 他說的不是這一個意思!!!! : 重點是你建立 connection 要給它不同的 server address >_<.... 如果藍芽有 ip ... 還麻煩給我一下... 藍芽跟 tcp/ip 好像沒關係!! : 不然當然會一直連到同一個 : (就像你執行一萬次 HelloWorld... 萬一跑出 HelloMother 你要趕快跑...) : 至於換到藍芽的環境上頭... 我不熟協定... 不敢亂講 : 只能說用 Socket 是百分百可以的 您說的 Socket 跟藍芽在 Java 上無關!!! Java 在藍芽上的通訊. 有兩個 key point 要知道 1. BlueTooth 中的 Master/Slave 關係. 2. Java 中的 Bluetooth 協定:JABWT 原問題所問的 , 如果以 BlueTooth 協定上的說法,應該用 Master / Slave 來問, 而不是用 Server/client 來問.. 因為您沒有說明是 windows 還是 linux 上的藍芽裝置的開發!! 假設您已將 platform 和 JABWT 之間的問題處理完了!! 在 BlueTooth 的 JABWT 裡面 Master/Slave 關係了解前,先確定硬體在 1. 自己的 BlueTooth 的裝置是 ready 的 2. 可以連向您要的那幾台 Device. 不管是實作 a Master to many slaves 或是 a slave to some Masters. 兩種程式的實作因為 BlueTooth 協定的一些先天限制,所以連線和 handle 的方式不同 在 BlueTooth 中,你如果用 Slave mode 或 Master mode 都可以去搜尋附近有訊號的 裝置才對,再由各個裝置建立連線後,再由被連結的裝置回傳資訊給連結端... 例如你有 1 個 A 裝置(簡稱資料搜集器好了),有一堆 B 裝置...(B1、B2、B3....etc) 流程: A ===> 本地端的藍芽裝置是否是可以被找到的. A ===> 確定現在的裝置不在使用中 A ===> 尋找 BT 的訊號範圍(這時候 Master or Slave mode 要有策略上的決定) A ===> 一開始,例如找到 B2、B3、B7 好了 A ===> 試著去連結 B2.... B2 ===> accept A , 回傳資訊給 A A ===> 看 mode 不同,這時候就有策略問題啦~~~ (Master 和 Slave 各有限制) A ===> 再去試著連 B3.... ...................... ...................... 就這樣!!!給發問問題的人參考一下.... 謝謝!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.62.196.245
文章代碼(AID): #18wxe1mL (java)
文章代碼(AID): #18wxe1mL (java)