如何使用tcp端点连接到Azure Worker角色?需要Tcp和Azure的技术帮助
本文关键字:Azure Tcp 需要 帮助 技术 Worker tcp 何使用 端点 连接 角色 | 更新日期: 2023-09-27 18:08:48
我在visual studio中创建了一个worker角色,并将其部署到Azure。Azure显示它正在我的暂存上运行。
在我的云服务屏幕上有一个服务的URL,但当我ping它或只是导航到那里时,它似乎没有做任何事情。我:
此网页不可用
ERR_NAME_NOT_RESOLVED
我写了下面的代码来尝试通过TcpClient访问服务:
string ip = "http://mysite.cloudapp.net";
int port = 10;
TcpClient client = new TcpClient();
try
{
client.Connect(ip, port); // This line throws the error.
if (client.Connected)
{
client.Close();
}
}
catch (Exception ex)
{
Trace.Warn(ex.Message);
}
在客户端。Connect(ip, port)错误提示消息= "请求的名称有效,但未找到请求类型的数据"
我的WorkerRole有以下Run方法(我相信是从在线教程中复制的)。
public override void Run()
{
Trace.TraceInformation("wr is running");
TcpListener listener = null;
try
{
listener = new TcpListener(
RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["myEndpoint"].IPEndpoint);
listener.ExclusiveAddressUse = false;
listener.Start();
}
catch (SocketException)
{
Trace.Write("Echo server could not start.", "Error");
return;
}
while (true)
{
IAsyncResult result = listener.BeginAcceptTcpClient(HandleAsyncConnection, listener);
connectionWaitHandle.WaitOne();
}
}
最后,在我的csdef端点如下所示:
<InputEndpoint name="myEndpoint" protocol="tcp" port="10" localPort="10" />
您是否尝试从"ip"变量的值中删除"http:" ?您需要该地址指向的IP,但不绑定到HTTP协议。
我认为我可以使用url,但显然使用我的服务页面上azure门户上列出的ipaddress,在输入端点下(有点明显)。我做了以下操作:
IPAddress ipAddress = IPAddress.Parse("13.71.112.31");
int port = 10;
TcpClient client = new TcpClient();
try
{
client.Connect(ipAddress, port);
if (client.Connected) // now true
{