我正在嘗試使用 Xamarin 客戶端創建 SignalR 服務器。每次我嘗試連接到服務器時,狀態只是“正在連接”而沒有改變。試圖用我在互聯網上找到的代碼繞過證書,但它沒有解決問題。當我嘗試訪問集線器站點 (ip:port/notifier) 時,我收到訊息“需要連接 ID”
客戶端:
public class SignalRService : ISignalRService
{
private readonly HubConnection hubConnection;
public SignalRService()
{
hubConnection = new HubConnectionBuilder()
.WithUrl("https://ip:5001/notifier", options => {
options.HttpMessageHandlerFactory = factory => new HttpClientHandler
{
ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; }
};
})
.WithAutomaticReconnect()
.Build();
}
public void /*async Task*/ Connect()
{
hubConnection.StartAsync();
var a = hubConnection.State;
while (hubConnection.State == HubConnectionState.Connecting) //for debug purposes
{
continue;
}
a = hubConnection.State;
}
服務器端
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddSignalR();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
endpoints.MapHub<NotifyHub>("/notifier");
});
}
Thanks for any help!
uj5u.com熱心網友回復:
所以最后我找到了解決方案!
問題是模擬器無法通過 http://localhost:port 但使用 ip "10.0.2.2:port" 連接到 localhost
并且由于某種原因,將 signalR 實作給客戶端,因為服務也不起作用......
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/346053.html
下一篇:將輸入文本決議為陣列和求和值
