我正在开发一个点对点聊天程序,但遇到了一个问题:同时运行客户端和服务器。我不想要专用服务器来管理连接。我认为解决方案可能是异步直连,但我不确定。
我试图完成的是能够在两台主机之间运行程序,程序将启动并开始尝试连接到由文本框指定的ip地址。同时,它还将开始侦听本地主机ip地址上的传入连接。
*我使用tcp,因为万一有什么东西被破坏,消息将无法读取(它是加密的)
问题: 1)可以想象,在另一个程序尝试连接之前,客户端可能会等待一段时间。那么是否必须使用某种形式的循环呢?如果是这样的话,是怎么做的?
2)我假设我需要使用多线程,一个线程用于服务器部分,一个线程用于客户端部分,但一个问题是防止它们挂起。因为这两个程序是相同的,所以有一种方法可以监听并同时尝试连接到另一台主机。
3)我在让我的服务器侦听到它的连接时也遇到了问题,并且不知道如何让它自动从我的计算机中提取ip地址。
谢谢你的帮助。
编辑:这只在局域网上。
发布于 2012-04-23 09:05:39
你需要知道的一切都在微软的文档中。
http://msdn.microsoft.com/en-us/library/w89fhyex.aspx
https://stackoverflow.com/questions/10273519
复制相似问题