两个多线程socket之间的监听问题
最近碰到一个棘手的问题(对我来说:( )。有两个多线程(socket1,socket2)默认情况下都已经开启,socket1监听client1,得到“start”,“stop”,“1001”,“1002”当中的一条信息,当得到“start”时socket1执行启动socket2服务,当得到“stop”时执行停止socket2服务。请问socket2该怎么监听socket1发送的信息。
问题点数:20、回复次数:3Top
1 楼xxu(焕兄)回复于 2005-08-04 17:46:03 得分 20
看起来其中一个线程是用来服务器关闭,启动之用。另一个线程是提供服务的。(有点像TOMCAT的结构)
切入回答:
你的完全以socket驱动服务的思考是错误的。顺着来想,启动服务的时候启动两个分支(即两个线程),启动服务线程的时候,把该线程对象的引用(thread1)保存到线程能访问到的地方,这样,直接对这个线程操作就行了。如stop命令,调用thread1.stop();Top
2 楼lxf3483(大四喜)回复于 2005-08-05 09:23:12 得分 0
多谢焕兄提点,但还是有个地方不懂,“启动服务线程的时候,把该线程对象的引用(thread1)保存到线程能访问到的地方,这样,直接对这个线程操作就行了。”这句话的意思是不是把thread1得到的信息保存在一个thread2能访问到的地方?那thread1所得到的信息是经常变化的啊,该怎么处理呢。Top
3 楼lxf3483(大四喜)回复于 2005-08-08 17:21:15 得分 0
多谢~~已经解决了Top




