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

wcf双工通信,徐长龙讲的例子,不能说明双工通信的好处及必要性

徐老师,感觉你对wcf双工通信理论上讲的比较清楚,但举的例子,似呼说明不了双工通信的好处,及其必要性.

虽然听了微软的WCF系列课程,但感觉在双工通信这块的例子讲的比较差,举的例子不能体现出双工通信的好处(感觉没有必要用双工,用单工的方式都可以解决),认为就是为了举例而举例,举的例子体现不了双工的必要性(比如,把打印结果显示的函数写在服务器端,不是也可以显示吗?为什么非要写在客户端,同时结果又显示在客户端,这与单工的结果没有啥区别)


请微软专家给出双工通信,要达到的一个实现某种功能需求的目的(理论就能接实,但微软举的双工通信的例子,不能体现出此目的来),

个人认为,即然是双工,就是客户端可以调用服务端接口,并把结果显示在客户端,同时,服务端也可以回调客户端接口,此时要把结果显示在服务端,而不是还把调用结果显示在客户端,这样就体现不出双工来(微软举的hello mcf,计算加减乘除的例子,服务端调用的结果还是显示在客户端,这与单工的效果是一样的,有啥必要用双工呢,也许是这个例子举的不形象,或者是这方面的例子比较难举,培训专家没有实践经验,举不出更好的例子,就顺便举了个例子来忽修人,请微软的实践专家来讲解吧)



WebCast20090120pm_Demo_设计和实现服务协定   中的WcfServiceLibrary2  讲到的 equals 和 equation两个方法,用单工模式,写在服务端,是不是也能实现提示的功能,如果能实现,为什么还要用双工呢(双工的必要性体现在那里呢?)?你能举出一个必须要用双工通信的例子吧
--------------------编程问答-------------------- 谁有双工通信,很好的代码例子,不要给我微软的加减乘除的例子,那代码说明不了双工通信的好处 --------------------编程问答-------------------- 双工最重要一点,服务端知道客户端存在,并能调用客户端,比如客户端直接弹信息(弹窗)。
不能回调就不能由服务端直接推送,就只能用轮询来做。

你可以看看我这篇示例,双工通信实现广播
http://blog.csdn.net/fangxinggood/article/details/6142861

当然很多场景这种直接交换都可以用轮询来代替,但直接交换的实现设计要简单的多。

BTW:但现在实际中,http协议居多,双工通信其实在通道建立上是比较麻烦。


--------------------编程问答-------------------- 个人觉得你这种问法,就像在问为什么要用委托,不用委托也可以实现请求响应,那为什么要用事件呢 --------------------编程问答--------------------
引用 楼主 zhouyanlizyl3 的回复:
徐老师,感觉你对wcf双工通信理论上讲的比较清楚,但举的例子,似呼说明不了双工通信的好处,及其必要性.

虽然听了微软的WCF系列课程,但感觉在双工通信这块的例子讲的比较差,举的例子不能体现出双工通信的好处(感觉没有必要用双工,用单工的方式都可以解决),认为就是为了举例而举例,举的例子体现不了双工的必要性(比如,把打印结果显示的函数写在服务器端,不是也可以显示吗?为什么非要写在客户端,同时结果又显示在客户端,这与单工的结果没有啥区别)


请微软专家给出双工通信,要达到的一个实现某种功能需求的目的(理论就能接实,但微软举的双工通信的例子,不能体现出此目的来),

个人认为,即然是双工,就是客户端可以调用服务端接口,并把结果显示在客户端,同时,服务端也可以回调客户端接口,此时要把结果显示在服务端,而不是还把调用结果显示在客户端,这样就体现不出双工来(微软举的hello mcf,计算加减乘除的例子,服务端调用的结果还是显示在客户端,这与单工的效果是一样的,有啥必要用双工呢,也许是这个例子举的不形象,或者是这方面的例子比较难举,培训专家没有实践经验,举不出更好的例子,就顺便举了个例子来忽修人,请微软的实践专家来讲解吧)



WebCast20090120pm_Demo_设计和实现服务协定   中的WcfServiceLibrary2  讲到的 equals 和 equation两个方法,用单工模式,写在服务端,是不是也能实现提示的功能,如果能实现,为什么还要用双工呢(双工的必要性体现在那里呢?)?你能举出一个必须要用双工通信的例子吧


1、其实我刚刚听完徐老师讲玩双工通信实例后,也感觉不到双工通信存在的必要性,但是后面慢慢发觉到还是有很有用的。比如徐老师讲的那个例子这是一种将服务器压力分摊到各个客户端上去的一种做法,例如如果有成千上万个客户端去访问服务端一个比较复杂的计算公式。你觉得将计算公式写到服务端好还是写在客户端好。

2、其实想一想还有其它好处,比如客户端调用WCF服务时,WCF服务需要做10个处理步骤,每个步骤都会将状态反映到客户端,是不是用双工能很好的实现这个方案。

感觉还是要多想想吧。

--------------------编程问答-------------------- 第一次注意到有叫做“徐长龙”的人。当然,我也没有看过这类视频。

按照你的描述来推理,如果要举例说明“双工通讯”的概念,那么应该让一个人的操作可以实时显示到所有其它参与会话的客户端。就好像是一个网站上可以有10000个聊天室,而加入同一个聊天室的人可以看到同一个公屏,加入不同聊天室的人看到的公屏是不同的。为了达到“实时”的用户体验,需要由服务器向客户端推送消息,才能保证实时的体验,而不是客户端轮询。

--------------------编程问答-------------------- “把打印结果显示的函数写在服务器端”,这个........呵呵。

通常服务器在距离我们千里之外,在电信机房里,连显示器、键盘、鼠标都没有。显示信息在服务器,这没有意义。 --------------------编程问答-------------------- 比如要实现一个聊天的程序,那么就需要双向的通讯——发送和接受消息。
具体可以看这里:
http://bbs.csdn.net/topics/390435061
--------------------编程问答-------------------- 长连接比双工通用,双工比长连接少维护一个连接。
交互频繁的场景使用长连接更有效。
补充:.NET技术 ,  Web Services
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,