2011-09-29 43 views
2

可能重复:
multi client/server chat program in c#?构建C#.NET客户端 - 服务器聊天应用程序的最佳方式是什么?

我一直在尝试了一段时间来建立一个简单的客户端 - 服务器的聊天,和我不断发现有许多不同的方式。

我只是好奇最好的方式是什么。

第一个涉及到创建一个新的套接字,将其绑定到特定的端口和任何IP地址,然后监听新的连接(并且就教程而言)。接下来涉及使用TcpListener侦听特定的端口(尽管它发出警告,称其已弃用,并且必须包含IP地址),然后等待新的TCP连接,然后创建新的哈希表或新列表存储TcpClient(s)。这就是所有的服务器端。客户端几乎相同,总是试图连接到服务器。

那么,建设一个最好的方法是什么?另外,我是否应该使用StreamReader和StreamWriter(有些Tuts使用),还是应该使用NetworkStream,我应该使用什么来传输消息?

+0

你能解释一下WCF是什么? – Alper

+0

WCF是“Windows Communication Foundation”。它是涵盖程序之间通信的框架。它可以配置为使用各种协议和通信对象,并且在应用程序级别,您不必担心细节。您可以通过套接字有效地发送对象,而无需编写代码来序列化/反序列化内容。 –

+0

有关WCF的更多信息:通常在WCF中,客户端比服务器发送内容更容易轮询服务器。客户端只需进行函数调用,然后从服务器获取结果。结果可以是一个对象,一个对象列表,或任何你可以编程一个函数返回的东西。底线:像其他任何函数调用一样调用WCF,但可以在某个远程服务器上完成处理。 –

回答

0

你在正确的轨道上。但是,您可能想了解一些WCF的更高级功能,例如Duplex服务,这些服务将允许基于事件从服务器进行推送。

0

就我个人而言,我只是设置一个XMPP服务器,并与Jabber.net(http://code.google.com/p/jabber-net/)或其他的东西交谈,但我没有看过几个年份。

相关问题