连接客户端

时间:2010-10-26 09:53:40

标签: c# sockets tcp client

我正在尝试连接两台或多台运行c#应用程序的计算机。我找到的所有TCP示例仅显示如果它们在同一网络上运行时如何连接它们。

我的问题是如何通过互联网连接它们?

我想创建一个像MSN这样的服务但是有直接连接(就像洪流软件一样),

任何帮助?

问候!

1 个答案:

答案 0 :(得分:1)

通过互联网连接2台计算机应该与在LAN上连接它们相同。您的问题将主要与防火墙有关。在您的C#代码中,您必须分配一个IP地址&两台计算机的端口。您应确保防火墙允许此端口通过而不会阻塞(在打开新端口时要小心安全漏洞)。

如果您的计算机没有公共IP,您还必须在路由器上设置一些NAT。这会将路由器上的端口+您的公共IP地址映射到本地计算机的IP地址+端口。然后,另一台计算机将在其配置中配置此公共IP地址+端口。有太多可配置的东西可能会在一篇文章中列出。我建议在网络上学习一些基础知识。

然而,尽管如此,就C#代码而言,如果它通过局域网工作,你不应该改变一个让程序在互联网上工作的东西。