Azure クラウド サービスをデプロイした後、接続できませんでした。同様の質問への回答を見て、エンドポイントを調べてみましたが、正しく構成されているようです。TCP経由で接続しようとしています。Azure Compute Emulator を使用すると、すべてがローカルで正常に動作します。
ここに私の .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 でサーバーをセットアップした方法にあると考える傾向があります。 . チェックすべき追加事項や、これをさらにデバッグする方法に関するヒントはありますか? どんな助けでも大歓迎です!