我试图通过事件和回调来理解.Net远程处理。当我在互联网上阅读教程时,我发现了一篇文章:
codeproject: .NET Remoting Events Explained
这个机制在一个例子中解释。我正在玩我在同一个网页上下载的项目。
我在代码中唯一改变的是“RemotingEvents.Client.Form1.serverURI”,我已将其重新键入localhost(“tcp:// localhost:15000 / serverExample.Rem”)。 我在.Net 4.0下的Visual Studio 2010中编译了项目,我在Win7 64位PC上测试了编译的程序集,在这里我遇到了一个问题。
我运行服务器并启动它。之后我连接了一个客户端,一切都很顺利,因为到目前为止还没有执行回调。当我尝试从我的客户端向服务器发送消息时出现问题。消息传递到服务器并按原样弹出文本框。在此之后,服务器试图回调连接的客户端,但没有通过并弹出一个异常,返回给客户端,客户端首先发送消息。
在尝试运行应用程序所花费的时间以便回调将按预期通过之后,我发现当我从我所在的公共网络断开PC时,服务器 - 客户端通信运行完美且没有问题(即使有更多的客户)。
有没有人知道问题出在哪里,为什么我无法运行这些应用程序与我的PC连接到所提到的网络时与回调正确通信?有某种冲突吗?
谢谢!
-----编辑(03/11/2011 17:15)-----
在Chris Lively的第一个回答之后我设置了防火墙,我发现了 即使防火墙已经关闭,问题仍然存在。
答案 0 :(得分:1)
问题与你的防火墙有关。
连接回网络,然后修改该网络类型的PC防火墙设置,以允许您通过适当的端口访问您的PC。
基本上,服务器正在尝试在客户端PC上打开端口。由于默认的防火墙设置,客户端PC正在拒绝它。
如果您需要有关如何配置防火墙的帮助,请在http://serverfault.com上发布跟进问题