当前位置:编程学习 > C#/ASP.NET >>

线程监听问题

我创建了两个项目。一个是发送客户端Web_ClientA ,另一个是接受客户端Web_ClientB .
现在:A向B发送一条消息,(其实就发到一个队列中)。B端有启动线程监听该队列。知道有消息过来。刚开始启动B是能够运行一次。但是在A端再发一个消息,为什么B端线程不动啊?不是应该运行的吗?还是我的思路错了~~~  消息 线程监听 --------------------编程问答-------------------- A端是长连接吗?
B端循环了吗? --------------------编程问答-------------------- 估计是监听的问题,监听还是新开个线程吧。最好是用异步的。每次进来一个请求new一个新的申请。 --------------------编程问答--------------------
引用 1 楼 zgyjk 的回复:
A端是长连接吗?
B端循环了吗?
我不懂耶?长连接是什么?我只知道在虚拟机上新建了一个队列,A端和B端都访问的是那个队列~~B端没有循环~~那我再修改试一下~~ --------------------编程问答--------------------
引用 2 楼 guyuekkk11 的回复:
估计是监听的问题,监听还是新开个线程吧。最好是用异步的。每次进来一个请求new一个新的申请。
异步?不懂~~我想的是打开B客户端就能够接受消息。此时在A端在发送消息给B,B还能够接受消息~~~ --------------------编程问答-------------------- 什么都不懂指望别人能怎么帮你?交流的基础都没有 --------------------编程问答--------------------
引用 5 楼 wddw1986 的回复:
什么都不懂指望别人能怎么帮你?交流的基础都没有

+1,楼主最起码一些基础得有,否则别人跟你说的话都听不明白,我们也很无奈 --------------------编程问答--------------------
引用 5 楼 wddw1986 的回复:
什么都不懂指望别人能怎么帮你?交流的基础都没有
不用这么凶吧~~~好歹人家是女孩子耶~~不过我做出来了~~ worker = new Thread(new ThreadStart(ReceiveMsg));        将ReceiveMsg方法里面设置一个while(true)就好了~~~ --------------------编程问答--------------------
引用 1 楼 zgyjk 的回复:
A端是长连接吗?
B端循环了吗?
可不可以说一下,长连接是什么意思 啊?求指教? --------------------编程问答--------------------
引用 4 楼 yuyezitong 的回复:
Quote: 引用 2 楼 guyuekkk11 的回复:

估计是监听的问题,监听还是新开个线程吧。最好是用异步的。每次进来一个请求new一个新的申请。
异步?不懂~~我想的是打开B客户端就能够接受消息。此时在A端在发送消息给B,B还能够接受消息~~~

http://blog.csdn.net/royyeah/article/details/4791791
这个你看看,应该会帮到你。 --------------------编程问答--------------------
引用 8 楼 yuyezitong 的回复:
Quote: 引用 1 楼 zgyjk 的回复:

A端是长连接吗?
B端循环了吗?
可不可以说一下,长连接是什么意思 啊?求指教?

长连接是不是消息的持久化啊?? --------------------编程问答--------------------
引用 7 楼 yuyezitong 的回复:
Quote: 引用 5 楼 wddw1986 的回复:

什么都不懂指望别人能怎么帮你?交流的基础都没有
不用这么凶吧~~~好歹人家是女孩子耶~~不过我做出来了~~ worker = new Thread(new ThreadStart(ReceiveMsg));        将ReceiveMsg方法里面设置一个while(true)就好了~~~


while(true)呀,轮询队列也不是不行,但是你得控制线程睡眠,一直运行while(true)会耗用大量cpu资源,其实我觉得你需要的是观察者模式而已,轮询不如由数据端推送
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,