线程监听问题
我创建了两个项目。一个是发送客户端Web_ClientA ,另一个是接受客户端Web_ClientB .现在:A向B发送一条消息,(其实就发到一个队列中)。B端有启动线程监听该队列。知道有消息过来。刚开始启动B是能够运行一次。但是在A端再发一个消息,为什么B端线程不动啊?不是应该运行的吗?还是我的思路错了~~~ 消息 线程监听 --------------------编程问答-------------------- A端是长连接吗?
B端循环了吗? --------------------编程问答-------------------- 估计是监听的问题,监听还是新开个线程吧。最好是用异步的。每次进来一个请求new一个新的申请。 --------------------编程问答-------------------- 我不懂耶?长连接是什么?我只知道在虚拟机上新建了一个队列,A端和B端都访问的是那个队列~~B端没有循环~~那我再修改试一下~~ --------------------编程问答-------------------- 异步?不懂~~我想的是打开B客户端就能够接受消息。此时在A端在发送消息给B,B还能够接受消息~~~ --------------------编程问答-------------------- 什么都不懂指望别人能怎么帮你?交流的基础都没有 --------------------编程问答--------------------
+1,楼主最起码一些基础得有,否则别人跟你说的话都听不明白,我们也很无奈 --------------------编程问答-------------------- 不用这么凶吧~~~好歹人家是女孩子耶~~不过我做出来了~~ worker = new Thread(new ThreadStart(ReceiveMsg)); 将ReceiveMsg方法里面设置一个while(true)就好了~~~ --------------------编程问答-------------------- 可不可以说一下,长连接是什么意思 啊?求指教? --------------------编程问答--------------------
http://blog.csdn.net/royyeah/article/details/4791791
这个你看看,应该会帮到你。 --------------------编程问答--------------------
可不可以说一下,长连接是什么意思 啊?求指教?
A端是长连接吗?
B端循环了吗?
长连接是不是消息的持久化啊?? --------------------编程问答--------------------
不用这么凶吧~~~好歹人家是女孩子耶~~不过我做出来了~~ worker = new Thread(new ThreadStart(ReceiveMsg)); 将ReceiveMsg方法里面设置一个while(true)就好了~~~
什么都不懂指望别人能怎么帮你?交流的基础都没有
while(true)呀,轮询队列也不是不行,但是你得控制线程睡眠,一直运行while(true)会耗用大量cpu资源,其实我觉得你需要的是观察者模式而已,轮询不如由数据端推送
补充:.NET技术 , C#