gpt4 book ai didi

sockets - Azure VM - 无法连接到监听特定端口的 TCP 服务器

转载 作者:行者123 更新时间:2023-12-03 11:57:47 26 4
gpt4 key购买 nike

我正在尝试在本地客户端和运行 Windows 2K16 的 Azure VM(标准 D1 v2)之间建立 TCP 连接。

在虚拟机上,我正在运行一个接收端口的简单 TCP 服务器(请参阅下面的代码)。我在参数中传递了端口 51515。

网络接口(interface)有一个我正在尝试使用的公共(public) IP。

我已在门户上的 TCP 端口 51515 上添加了入站端口规则(source=any、source port=*、destination=any、dest.port=51515、protocol=TCP、action=allow)。

虚拟机上的 Windows 防火墙已关闭(公共(public)、域和专用)。

我从本地端使用 Telnet,使用公共(public) IP 和 51515 端口。在那里获取无法打开连接消息。

我已尝试访问虚拟机上的 IIS,并且可以使用另一个入站规则从本地访问它。

有什么想法吗?

谢谢

汤姆

class Program
{
static void Main(string[] args)
{
try
{
var server = new TcpListener(new IPEndPoint(IPAddress.Loopback, int.Parse(args[0])));
server.AllowNatTraversal(true);
server.Start();
server.AcceptTcpClientAsync().ContinueWith(c => System.Console.WriteLine("Client connected from:" + c.Result.Client.RemoteEndPoint));
System.Console.WriteLine("server listens... press any key to exit");
System.Console.ReadKey();
}
catch (Exception e)
{
System.Console.WriteLine(e);
System.Console.WriteLine("press any key to exit");
System.Console.ReadKey();
}
}
}

最佳答案

它不仅监听特定端口,还监听特定地址。你不想要这样。您将服务器套接字绑定(bind)到 IPAddress.Loopback,即 127.0.0.1,这意味着它不会接受来自本地主机外部的任何连接。

将其绑定(bind)到 0.0.0.0。

关于sockets - Azure VM - 无法连接到监听特定端口的 TCP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47560932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com