作者upo ( )
看板java
标题[问题] 关於server socket的观念问题
时间Sun Mar 28 20:30:18 2010
各位好
我目前想写一个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
1F:推 petertc:应该在main loop中accept连线,再传给thread处理 03/30 20:09