[問題] 關於server socket的觀念問題

看板java作者 ( )時間15年前 (2010/03/28 20:30), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/2 (看更多)
各位好 我目前想寫一個server來處理多個client的程式 目前的想法是每個client都用一個thread去對應 也就是在server方面的主程式,只需要呼叫thread即可 其他的連線動作都在thread中執行 1.)假設client不會同時連進來 在這個情況下我的想法是 主程式 thread void main(){ void run(){ new thread1.start(); new serversocket; while(有新連線) new clientsocket; thread2.start(); ...... } ...... } 可是這樣寫遇到的問題是 在新的thread的地方,會出現bind error 我是覺得我開不同的thread後,就算用的socket名稱都相同 應該也是不會有問題的吧 而我catch到的exception訊息為記憶體位置重覆使用 請問這樣子是否是我的觀念有問題呢?? 因為我在單一thread的情況下是可以運作的 (把main的while後兩行拿掉就可以順利跑) 懇請告知!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.242.10

03/30 20:09, , 1F
應該在main loop中accept連線,再傳給thread處理
03/30 20:09, 1F
文章代碼(AID): #1BhqlTMA (java)
文章代碼(AID): #1BhqlTMA (java)