首页 文章

C#聊天 - TCP P2P

提问于
浏览
0

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

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

***我正在使用tcp,因为在关闭机会有些东西被破坏时,消息将无法被读取(它被加密)

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

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

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

谢谢你的帮助 .

编辑:这只在局域网上 .

1 回答

相关问题