即时服务器 - 客户端通信,C#?

时间:2011-01-25 13:09:07

标签: c# php wpf wcf client-server

我几个月来一直在研究客户端 - 服务器通信的可能性。我已经尝试了许多方法,例如WebORB和FluorineFX,它们都是用于处理客户端/服务器身份验证的服务器。

据我所知,WebORB只能在Windows上运行.NET版本,我宁愿使用开源系统。我尝试过使用FluorineFX,但我认为它们必须是一种更简单的方法,让我从头开始构建自己的简单系统。

我现在一直在使用Dropbox,我喜欢客户端 - 服务器通信即时的方式。据我所知(从一些谷歌搜索),客户端不会打开自己的端口,只是通过端口80与Dropbox服务器通信。它的即时通信的一个例子是你可以删除Dropbox上的文件在他们的网站上,服务器立即与客户沟通,告诉它发生了什么。我不知道如果不打开端口,这种即时通信是如何实现的。

我可以创建一个使用从客户端获取的系统,每隔10秒左右询问服务器是否有任何更新,但我想要一种能够 推送信息的方法从服务器到客户端。

我的服务器运行Linux 所以我认为我不能使用WCF,理想情况下我正在寻找一种让PHP和C#相互通信的方法。

我很想听听任何人的建议以及他们如何处理这个问题。 欢呼声。

2 个答案:

答案 0 :(得分:2)

您可以使用WCF与任何平台进行通信。只需确保您使用目标计算机支持的端点:http://msdn.microsoft.com/en-us/library/ms733107.aspx

答案 1 :(得分:1)

您是否尝试过与Mono完美配合的优质.NET Remoting?

您可以选择TcpChannel(用于性能)和HttpChannel(轻松传递代理/防火墙)。

对于推送通知,您可以打开与服务器的连接并无限期地等待答复。