Я опубликовал простой проект SignalR в IIS, когда я запускаю его из Visual Studio, он работает нормально, но после загрузки его в IIS не работает, я пробовал многие формы URL-адресов, но никогда не работал. Итак, как это можно сделать, и если есть какие-либо проблемы еще?
android код:
public class MainActivity extends AppCompatActivity {
StringBuilder sb = new StringBuilder();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
hubConnection = HubConnectionBuilder.create("http://192.168.1.2/signalrserver/chat").build();
etMsg = findViewById(R.id.etmsg);
etUser = findViewById(R.id.etuser);
btnSend = findViewById(R.id.btnsend);
tvChat = findViewById(R.id.tvchat);
hubConnection.on("Recieve Messages ",(user,message) -> {
tvChat.setText(sb.append(user).append(" Says : ").append(message).append("\n"));
},String.class,String.class);
btnSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
hubConnection.start();
if(hubConnection.getConnectionState() == HubConnectionState.CONNECTED)
{
hubConnection.send("ChatFromServer",etUser.getText().toString(),etMsg.getText().toString());
}
}
});
}
}
. net код настроить в файле startup.cs:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
});
app.UseSignalR(routes =>
{
routes.MapHub<Chat>("/chat");
});
}
концентратор чата:
public class Chat : Hub
{
public async Task ChatFromServer(string user,string message)
{
Console.WriteLine("User: "+user+" says: "+message);
await Clients.All.SendAsync("ReceiveMessages", user, message);
}