首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要有关基于windows的聊天应用程序的概念

需要有关基于windows的聊天应用程序的概念
EN

Stack Overflow用户
提问于 2011-01-18 02:04:38
回答 2查看 787关注 0票数 1

假设如果我想要开发一个windows聊天应用程序,那么还需要开发一个聊天服务器和客户端。在开发了聊天服务器应用程序后,我们可以在一台机器上运行该应用程序,聊天客户端将运行另一台pc。如果这些pc不在同一网络中,假设聊天服务器在美国机器上运行,一个聊天客户端在德国机器上运行,另一个在英国机器上运行。在这种情况下,如何使用互联网进行交流。所有的机器都可以访问互联网,那么一个聊天客户端如何登录到聊天服务器,以及两个聊天客户端如何相互通信。我只想知道如何通过聊天服务器将数据从一个客户端传输到另一个客户端。请给我的概念或它会更好,如果有人给我一个任何好的基于.net的聊天应用程序的参考,其中聊天服务器和聊天客户端将是there.........thanks。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-18 02:09:56

客户端轮询服务的

  1. WCF服务(简单-基本场景-易于实现,效率不是很高)
  2. WCF双工Web服务与服务器在需要时更新客户端(更多的是基于Socket的解决方案,最难实现,但允许更好的控制。在马修·麦克唐纳的书“专业银光3”中有一个很好的例子
票数 2
EN

Stack Overflow用户

发布于 2011-01-18 02:15:44

一般来说?我不明白这与C#有什么关系,但是客户端-服务器架构看起来像这样:

代码语言:javascript
复制
Client <-----> Server

对于描述两个或多个客户端相互通信的情况,您只是在讨论添加多个客户端:

代码语言:javascript
复制
Client A <----
              |
               ----> Server
              |
Client B <----

如果客户端A想要向客户端B发送消息,则客户端A将带有某种信息的消息发送到服务器,表明该消息是发往客户端B的。服务器然后检查该消息,确定该消息是发往客户端B的,然后通过连接将该消息中继到客户端B。

这是客户端-服务器架构的基本定义。还有一些更高级的架构,将客户端-服务器和点对点混合在一起,比如Skype。在混合系统中,从客户端到服务器的连接通常只传送控制消息(身份验证等)并且请求关于如何直接联系另一客户的信息。这种方法的优点是,它不需要A和B之间的所有通信都流经服务器;A和B都连接到服务器,但它们会询问服务器如何彼此直接连接,然后使用该直接连接进行带宽密集型通信。

不过,这些都是次要的,真的。在开始开发应用程序之前,您应该先阅读独立于任何特定语言或环境的客户端-服务器体系结构。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4716279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档