gpt4 book ai didi

azure - 无法连接到已部署的 Azure 云服务

转载 作者:行者123 更新时间:2023-12-03 06:03:55 24 4
gpt4 key购买 nike

部署 Azure 云服务后,我无法连接到该服务。查看类似问题的答案,我尝试检查我的端点,但它们似乎配置正确。我正在尝试通过 TCP 连接。当我使用 Azure 计算模拟器时,一切在本地运行良好。

这是我的 .csdef 文件:

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="Server" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2013-03.2.0">
<WorkerRole name="WorkerRole" vmsize="Small">
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="tcp" port="4029"/>
</Endpoints>
<LocalResources>
<LocalStorage name="DiagnosticStore" sizeInMB="20000" cleanOnRoleRecycle="false" />
</LocalResources>
</WorkerRole>
</ServiceDefinition>

在我的服务器实例(Azure 辅助角色)上,我有以下 TCP 监听器:

const int port = 4029;
IPAddress addr = IPAddress.Loopback;
try
{
var listener = new TcpListener(addr, port);
listener.Start();
...
}

最后,在我的客户端中,我有以下内容:

var hostName = new HostName("[IP Address as shown in the Azure Management Portal]");
TcpSocket = new StreamSocket();

try
{
await TcpSocket.ConnectAsync(hostName, "4029");
...
}

此代码工作正常,当我的服务器在 Azure 模拟器中本地运行时,我能够将客户端连接到服务器,因此我倾向于认为问题出在我设置我的客户端的方式上。 Azure 上的服务器。我还应该检查任何其他事项,或者有关如何进一步调试此问题的提示吗?非常感谢任何帮助!

最佳答案

我怀疑问题在于您对 IPAddress.Loopback 的使用以及本地端口的选择。

由于您没有在 ServiceDefinition 中指定本地端口端点 Windows Azure 的配置可以分配随机端口。然后,您应该使用以下方式访问端点:

listener = new TcpListener( 
RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint);
listener.ExclusiveAddressUse = false;
listener.Start();

此代码来自 Maarten Balliauw post .

您可以选择在服务定义文件中指定本地端口。

关于azure - 无法连接到已部署的 Azure 云服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18030138/

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