C#P2P聊天应用程序设计
我想创建一个不使用显式服务器的简单聊天应用程序。 主要要求是用户可以同时与许多朋友聊天(就像在Skype等上一样)。 我不是说这里的会议聊天,只是多个单独的聊天窗口。
目前,我只想要一个局域网消息传递应用程序,但我很欣赏,如果设计很容易扩展到Internet连接。
我想知道什么样的设计适合这种应用。
- 您如何看待解决方案,其中每个用户应用程序都有一个
TcpListener
(隐式服务器)和多个TcpClient
对象 – 一个用于他/她正在TcpListener
交谈的每个朋友。 - 如何validation远程用户? 聊天应用程序是否应该生成证书(X509或某事物)或者只是假设局域网中的用户是可信任的:)
最亲切的问候,
HttpListener
+ WebClient(or HttpWebRequest)
可以为您提供更多的身份validation/安全工具。 基本身份validation,Ntlm,集成Windows身份validation,https等,它们更适合防火墙。
你应该看到开始
我如何制作自己的P2P软件?
WCF / WPF聊天应用程序
P2P通信 – 代理监听器和代理客户端
希望这certificate是一个很好的起点
快乐的编码