azure tcp云服务无法连接
我已在azure云服务中部署了工作者角色,但无法连接到该角色。 云服务具有以下定义:azure tcp云服务无法连接,azure,tcp,azure-cloud-services,Azure,Tcp,Azure Cloud Services,我已在azure云服务中部署了工作者角色,但无法连接到该角色。 云服务具有以下定义: <?xml version="1.0" encoding="utf-8"?> <ServiceDefinition name="classificationCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6"&
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="classificationCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
<WorkerRole name="classificationWorker" vmsize="Small">
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" />
<Setting name="APPINSIGHTS_INSTRUMENTATIONKEY" />
</ConfigurationSettings>
<Certificates>
</Certificates>
<Imports>
<Import moduleName="RemoteAccess" />
<Import moduleName="RemoteForwarder" />
</Imports>
<Endpoints>
<InputEndpoint name="Input" protocol="tcp" port="2000" localPort="2000" />
</Endpoints>
</WorkerRole>
</ServiceDefinition>
此程序的日志显示的IP与云服务的公共IP不同。但这可能是因为负载平衡
无论如何,我无法连接到已部署的实例,我很难找出原因。
我曾尝试使用云服务的公共IP和URL的主机段访问实例,但这两种情况都会导致连接超时
云服务将端口报告为rdp端口旁边的输入端点。RDP连接工作正常
非常感谢您的帮助。您是否已经检查过此选项?是。链接中的询问者使用http://protocol前缀,我没有使用该前缀,错误消息不同。询问者收到一个名称\u未\u解决的错误,我收到一个连接超时。连接超时是由于它试图连接到该端点,但无法连接。你的要求是什么?这是你唯一的选择吗?您是否浏览了队列?是的,但它应该能够连接。同一个实例公开了RDP端口,我可以使用[WorkerName].cloudapp.net:3389连接到它。Netstat甚至显示了我的应用程序正在监听端口2000,我可以在VM上本地连接到它。但是,Azure之外的另一个应用程序由于某些原因无法访问该应用程序。应用程序从另一个应用程序接收图像。处理它并将其发送到另一个应用程序。延迟应该是最小的,所以这就是为什么我没有使用队列。您可以尝试将图像上载到blob存储,然后从那里进行处理。您是否已经选中此选项?是的。链接中的询问者使用http://protocol前缀,我没有使用该前缀,错误消息不同。询问者收到一个名称\u未\u解决的错误,我收到一个连接超时。连接超时是由于它试图连接到该端点,但无法连接。你的要求是什么?这是你唯一的选择吗?您是否浏览了队列?是的,但它应该能够连接。同一个实例公开了RDP端口,我可以使用[WorkerName].cloudapp.net:3389连接到它。Netstat甚至显示了我的应用程序正在监听端口2000,我可以在VM上本地连接到它。但是,Azure之外的另一个应用程序由于某些原因无法访问该应用程序。应用程序从另一个应用程序接收图像。处理它并将其发送到另一个应用程序。延迟应该是最小的,因此我没有使用队列。您可以尝试将图像上载到blob存储,然后从那里进行处理。
IPEndPoint ep = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Input"].
TcpListener listener = null;
try
{
listener = new TcpListener(ep);
listener.ExclusiveAddressUse = false;
Console.WriteLine(string.Format("starting server on {0}:{1}", ep.Address.ToString(), ep.Port));
listener.Start();
}
catch(SocketException e )
{
Console.WriteLine("unable to start server", e.Message);
return;
}