gpt4 book ai didi

c# - 通过混合连接从客户端连接到 Azure Web 作业

转载 作者:行者123 更新时间:2023-12-03 01:44:33 25 4
gpt4 key购买 nike

我有一个本地服务器 (mockhospital1),并且我在应用服务计划中有一个 Azure Web 应用。

我已从此 Azure Web 应用程序创建了一个混合连接来链接服务器 A,并且我在服务器 A 上下载了 HCM 并在其中添加了连接(这一切正常)。

我能够在mockhospital1上打开监听器套接字(使用c#控制台应用程序):

        Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
listener.Bind(new IPEndPoint(IPAddress.Any, 2113));
listener.Listen(100);

然后,我在 Azure Web 应用程序中创建了一个 Web 作业,通过 HC 发送到此套接字:

        IPHostEntry ipHost = Dns.Resolve("mockhospital1");
IPAddress ipAddress = ipHost.AddressList[0];
IPEndPoint ipEndpoint = new IPEndPoint(ipAddress, 2113);
Socket sender = new Socket(System.Net.Sockets.AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sender.Connect(ipEndpoint);

这个效果很好。

现在我尝试以相反的方式连接(启动从mockhospital1到Azure的发送)。

我想要实现的是通过端口 2113 上的同一 HC 将数据从mockhospital1 直接发送到我在 Azure WebJob 中创建的监听器。我正在努力寻找一种方法来做到这一点。我不知道如何设置发送套接字。

这是我在 Azure WebJob 上的内容(只需在正确的端口 - 2113 上设置监听器):

        Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
listener.Bind(new IPEndPoint(IPAddress.Any, 2113));
listener.Listen(100);

我不确定如何连接到此以从mockhospital1发送。我已经尝试了以下代码(我认为我确实需要知道 IP_HOST_NAME 应该是什么):

        byte[] receivedBytes = new byte[1024];
IPHostEntry ipHost = Dns.Resolve(IP_HOST_NAME);
IPAddress ipAddress = ipHost.AddressList[0];
IPEndPoint ipEndpoint = new IPEndPoint(ipAddress, 2113);
Socket sender = new Socket(System.Net.Sockets.AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sender.Connect(ipEndpoint);

我想知道是否有人知道我如何实现我想要做的事情,或者我是否以错误的方式解决问题。

最佳答案

Azure Web 应用程序的网络访问存在多种限制。

通过互联网访问应用程序的唯一方法是通过已经公开的 HTTP(80) 和 HTTPs(443) TCP 端口,应用程序可能不会在其他端口上监听来自以下端口的数据包:互联网。

但是,应用程序可以创建一个可以监听沙箱内连接的套接字。例如,同一应用程序中的两个进程可以通过 TCP 套接字相互通信; 从沙箱外部传入的连接尝试,即使它们位于同一台计算机上,也会失败。

更多详情可以引用这个article .

关于c# - 通过混合连接从客户端连接到 Azure Web 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48736744/

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