Проблема с подключением Web PubSub для Socket.IOC#

Место общения программистов C#
Ответить
Anonymous
 Проблема с подключением Web PubSub для Socket.IO

Сообщение Anonymous »

Мне нужно использовать WebSockets в Azure. Кажется, доступен WebPubSub для Socket.IO, но, похоже, документация не обновляется, поскольку при попытке использовать пример из примеров невозможно подключиться к сокету. URL-адрес, предложенный в документации {/clients/socketio/hubs/Hub }, отличается от того, что возвращает Azure {client/hubs/Hub}: при попытке с возвращенным URL-адресом возвращается 404, а при попытке с предложенным URL-адресом возвращается 401;< /p>
URL-адрес, возвращенный из Azure;
[img]https://i.stack.imgur.com /GRkYB.jpg[/img]

предложенный URL из документации;
[img]https:/ /i.stack.imgur.com/Pox7o.jpg[/img]

Код: Выделить всё

using Azure.Messaging.WebPubSub;
using Azure.Messaging.WebPubSub.Clients;
using System;
using System.Threading.Tasks;

namespace subscriber
{
class Program
{
static async Task Main(string[] args)
{
var connectionString = "Endpoint=https://.webpubsub.azure.com;AccessKey=";
var hub = "Hubibi";
var message = "This is a message";

try
{

// Either generate the URL or fetch it from server or fetch a temp one from the portal
var serviceClient = new WebPubSubServiceClient(connectionString, hub);
//var url = serviceClient.GetClientAccessUri();
var url = serviceClient.GetClientAccessUri(roles: new string[] { $"webpubsub.sendToGroup", $"webpubsub.joinLeaveGroup" }).AbsoluteUri;

var urlParts = url.Split('?');
var urlNew = "wss://.webpubsub.azure.com/clients/socketio/hubs/" + hub + "?" + urlParts[1];

//Console.WriteLine($"try with received url: {url}\n\n");
Console.WriteLine($"try with alternate url: {urlNew}\n\n");

// WebPubSubClient
var wsClient = new WebPubSubClient(new Uri(urlNew));
wsClient.GroupMessageReceived += eventArgs =>
{
Console.WriteLine($"Receive group message from {eventArgs.Message.Group}: {eventArgs.Message.Data}");
return Task.CompletedTask;
};
await wsClient.StartAsync();
Console.WriteLine("Connected.");
Console.Read();

//Console.WriteLine($"try with alternate url: {urlNew}");
//// WebPubSubClient
//wsClient = new WebPubSubClient(new Uri(urlNew));
//wsClient.GroupMessageReceived += eventArgs =>
//{
//    Console.WriteLine($"Receive group message from {eventArgs.Message.Group}: {eventArgs.Message.Data}");
//    return Task.CompletedTask;
//};
//await wsClient.StartAsync();
//Console.WriteLine("Connected.");
//Console.Read();

}
catch (Exception ee)
{
Console.WriteLine($"error received: {ee.Message}");
//throw;
}
}
}

}

Спасибо за чтение и любую помощь.
Я добавил код из примеров Azure, который не работает.>

Подробнее здесь: https://stackoverflow.com/questions/781 ... on-problem
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»