C#聊天 - TCP P2P

时间:2012-04-23 00:41:40

标签: c# tcp chat p2p

我正在进行点对点聊天程序,但遇到了一个问题:同时运行客户端和服务器。我不想要专用服务器来管理连接。我相信解决方案可能是异步直接连接,但我不确定。

我想要完成的是能够在两台主机之间运行程序,程序将启动并开始尝试连接到文本框指定的IP地址。同时,它还将开始侦听localhost ip地址上的传入连接。

***我正在使用tcp,因为在关闭的情况下某些内容已损坏,邮件将无法被读取(它已加密)

问题: 1)可以想象客户端可能在另一个程序尝试连接之前等待一段时间。那么必须使用某种形式的循环吗?如果是这样,怎么样?

2)我假设我需要使用多线程,一个线程用于服务器部分,一个线程用于客户端部分,但问题是阻止它们挂起。由于两个程序都是相同的,因此有一种方法可以监听并同时尝试连接到其他主机。

3)我也无法让我的服务器监听与它的连接,并且不知道如何自动从计算机中提取IP地址。

感谢您的帮助。

编辑:这只在局域网上。

1 个答案:

答案 0 :(得分:1)

您需要知道的一切都在Microsoft的文档中。

http://msdn.microsoft.com/en-us/library/w89fhyex.aspx