Bagikan melalui


Mulai Cepat: Menyiarkan pesan real time dari aplikasi konsol

Azure SignalR Service menyediakan REST API untuk mendukung skenario komunikasi server-ke-klien seperti penyiaran. Anda dapat memilih bahasa pemrograman apa pun yang dapat melakukan panggilan REST API. Anda dapat memposting pesan ke semua klien yang terhubung, klien tertentu berdasarkan nama, atau grup klien.

Dalam mulai cepat ini, Anda mempelajari cara mengirim pesan dari aplikasi baris perintah ke aplikasi klien yang terhubung di C#.

Prasyarat

Panduan memulai ini dapat dijalankan di macOS, Windows, atau Linux.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Mengalami masalah? Coba panduan pemecahan masalah atau beri tahu kami.

Masuk ke Azure

Masuk ke portal Microsoft Azure menggunakan akun Azure Anda.

Mengalami masalah? Coba panduan pemecahan masalah atau beri tahu kami.

Di bagian ini, Anda membuat instans Azure SignalR dasar yang akan digunakan untuk aplikasi Anda. Langkah-langkah berikut menggunakan portal Azure untuk membuat instans baru, tetapi Anda juga dapat menggunakan Azure CLI. Untuk informasi selengkapnya, lihat perintah az signalr create di Referensi CLI Azure SignalR Service.

  1. Masuk ke portal Azure.
  2. Di sisi kiri atas halaman, pilih + Buat sumber daya.
  3. Pada halaman Buat sumber daya, di kotak teks layanan Pencarian dan marketplace, masukkan signalr lalu pilih SignalR Service dari daftar.
  4. Pada halaman SignalR Service , pilih Buat.
  5. Pada tab Dasar, Anda memasukkan informasi penting untuk instans SignalR Service baru Anda. Masukkan nilai berikut:
Bidang Nilai yang Disarankan Deskripsi
Langganan Memilih langganan Anda Pilih langganan yang ingin Anda gunakan untuk membuat instans SignalR Service baru.
Grup sumber daya Membuat grup sumber daya bernama SignalRTestResources Pilih atau buat grup sumber daya untuk sumber daya SignalR Anda. Berguna untuk membuat grup sumber daya baru untuk tutorial ini alih-alih menggunakan grup sumber daya yang ada. Untuk membebaskan sumber daya setelah menyelesaikan tutorial, hapus grup sumber daya.

Menghapus grup sumber daya juga menghapus semua sumber daya yang termasuk dalam grup. Tindakan ini tidak dapat diurungkan. Sebelum Anda menghapus grup sumber daya, pastikan grup tersebut tidak berisi sumber daya yang ingin Anda simpan.

Untuk mengetahui informasi selengkapnya, lihat Menggunakan grup sumber daya untuk mengelola sumber daya Azure Anda.
Nama sumber daya testsignalr Masukkan nama sumber daya unik untuk digunakan untuk sumber daya SignalR. Jika testsignalr sudah diambil di wilayah Anda, tambahkan digit atau karakter hingga namanya unik.

Nama harus berupa string 1 hingga 63 karakter dan hanya berisi angka, huruf, dan karakter tanda hubung (-). Nama tidak dapat dimulai atau diakhir dengan karakter tanda hubung, dan karakter tanda hubung berturut-turut tidak valid.
Wilayah Pilih wilayah Anda Pilih wilayah yang sesuai untuk instans SignalR Service baru Anda.

Azure SignalR Service saat ini tidak tersedia di semua wilayah. Untuk informasi selengkapnya, lihat Ketersediaan wilayah Azure SignalR Service
Tingkat harga Pilih Ubah lalu pilih Gratis (Khusus Dev/Test). Pilih Pilih untuk mengonfirmasi pilihan tingkat harga Anda. Azure SignalR Service memiliki tiga tingkat harga: Gratis, Standar, dan Premium. Tutorial menggunakan tingkat Gratis , kecuali disebutkan sebaliknya dalam prasyarat.

Untuk informasi selengkapnya tentang perbedaan fungsionalitas antara tingkatan dan harga, lihat Harga Azure SignalR Service
Mode layanan Pilih mode layanan yang sesuai Gunakan Default saat Anda menghosting logika hub SignalR di aplikasi web Anda dan menggunakan layanan SignalR sebagai proksi. Gunakan Tanpa Server saat Anda menggunakan teknologi Tanpa Server seperti Azure Functions untuk menghosting logika hub SignalR.

Mode klasik hanya untuk kompatibilitas mundur dan tidak disarankan untuk digunakan.

Untuk informasi selengkapnya, lihat Mode layanan di Azure SignalR Service.

Anda tidak perlu mengubah pengaturan pada tab Jaringan dan Tag untuk tutorial SignalR.

  1. Pilih tombol Tinjau + buat di bagian bawah tab Dasar .
  2. Pada tab Tinjau + buat , tinjau nilai lalu pilih Buat. Dibutuhkan beberapa saat agar penyebaran selesai.
  3. Setelah penyebaran selesai, pilih tombol Buka sumber daya .
  4. Pada halaman sumber daya SignalR, pilih Kunci dari menu di sebelah kiri, di bawah Pengaturan.
  5. Salin string Koneksi untuk kunci primer. Anda memerlukan string koneksi ini untuk mengonfigurasi aplikasi Anda nanti dalam tutorial ini.

Mengalami masalah? Coba panduan pemecahan masalah atau beri tahu kami.

Buat klon sampel aplikasi

Saat layanan sedang disebarkan, mari kita siapkan kodenya. Pertama, kloning aplikasi sampel dari GitHub. Selanjutnya, atur string koneksi SignalR Service ke aplikasi. Terakhir, jalankan aplikasi secara lokal.

  1. Buka jendela terminal git. Ubah ke folder tempat Anda ingin membuat mengkloning sampel proyek.

  2. Jalankan perintah berikut untuk mengkloning repositori sampel. Perintah ini membuat salinan aplikasi sampel di komputer Anda.

    git clone https://github.com/aspnet/AzureSignalR-samples.git
    

Mengalami masalah? Coba panduan pemecahan masalah atau beri tahu kami.

Bangun dan jalankan sampel

Contoh ini adalah aplikasi konsol yang menunjukkan penggunaan Azure SignalR Service. Ini menyediakan dua mode:

  • Mode Server: menggunakan perintah sederhana untuk memanggil REST API Azure SignalR Service.
  • Mode Klien: menyambungkan ke Azure SignalR Service dan menerima pesan dari server.

Anda juga mempelajari cara membuat token akses untuk mengautentikasi dengan Azure SignalR Service.

Bangun file yang dapat dieksekusi

Kami menggunakan macOS osx.10.13-x64 sebagai contoh. Anda dapat menemukan referensi tentang cara membangun di platform lain.

cd AzureSignalR-samples/samples/Serverless/

dotnet publish -c Release -r osx.10.13-x64

Memulai klien

cd bin/Release/netcoreapp2.1/osx.10.13-x64/

Serverless client <ClientName> -c "<ConnectionString>" -h <HubName>

Memulai server

cd bin/Release/netcoreapp2.1/osx.10.13-x64/

Serverless server -c "<ConnectionString>" -h <HubName>

Mengalami masalah? Coba panduan pemecahan masalah atau beri tahu kami.

Jalankan sampel tanpa menerbitkan

Anda juga dapat menjalankan perintah berikut untuk memulai server atau klien

# Start a server
dotnet run -- server -c "<ConnectionString>" -h <HubName>

# Start a client
dotnet run -- client <ClientName> -c "<ConnectionString>" -h <HubName>

Gunakan rahasia pengguna untuk menentukan String Koneksi

Anda dapat menjalankan dotnet user-secrets set Azure:SignalR:ConnectionString "<ConnectionString>" di direktori akar sampel. Setelah itu, Anda tidak memerlukan opsi -c "<ConnectionString>" lagi.

Mengalami masalah? Coba panduan pemecahan masalah atau beri tahu kami.

Penggunaan

Setelah server dimulai, gunakan perintah tersebut untuk mengirim pesan:

send user <User Id>
send users <User List>
send group <Group Name>
send groups <Group List>
broadcast

Anda dapat memulai beberapa klien dengan nama klien yang berbeda.

Mengalami masalah? Coba panduan pemecahan masalah atau beri tahu kami.

Integrasi dengan non-layanan Microsoft

Layanan Azure SignalR memungkinkan non-layanan Microsoft untuk berintegrasi dengan sistem.

Definisi spesifikasi teknis

Tabel berikut menunjukkan semua versi REST API yang didukung hingga saat ini. Anda juga dapat menemukan file definisi untuk setiap versi tertentu

Versi Status API Pintu Specific
1.0-preview Tersedia 5002 Swagger
1.0 Tersedia Standard Swagger

Daftar API yang tersedia untuk setiap versi tertentu tersedia dalam daftar berikut.

API 1.0-preview 1.0
Disiarkan ke semua
Disiarkan ke grup
Disiarkan ke beberapa grup ✓ (Tidak digunakan lagi) N / A
Kirim ke pengguna
Kirim ke beberapa pengguna ✓ (Tidak digunakan lagi) N / A
Menambahkan pengguna ke grup N / A
Menghapus pengguna dari grup N / A
Periksa keberadaan pengguna N / A
Hapus pengguna dari semua grup N / A
Kirim ke sambungan N / A
Tambahkan sambungan ke grup N / A
Hapus sambungan dari grup N / A
Tutup sambungan klien N / A
Service Health N / A

Disiarkan ke semua orang

Versi Metode HTTP API URL Permintaan Isi permintaan
1.0-preview POST https://<instance-name>.service.signalr.net:5002/api/v1-preview/hub/<hub-name> {"target": "<method-name>", "arguments": [...]}
1.0 POST https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name> {"target": "<method-name>", "arguments": [...]}

Disiarkan ke grup

Versi Metode HTTP API URL Permintaan Isi permintaan
1.0-preview POST https://<instance-name>.service.signalr.net:5002/api/v1-preview/hub/<hub-name>/group/<group-name> {"target": "<method-name>", "arguments": [...]}
1.0 POST https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name> {"target": "<method-name>", "arguments": [...]}

Mengirim ke pengguna

Versi Metode HTTP API URL Permintaan Isi permintaan
1.0-preview POST https://<instance-name>.service.signalr.net:5002/api/v1-preview/hub/<hub-name>/user/<user-id> {"target": "<method-name>", "arguments": [...]}
1.0 POST https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id> {"target": "<method-name>", "arguments": [...]}

Menambahkan pengguna ke grup

Versi Metode HTTP API URL Permintaan
1.0 PUT https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id>

Menghapus pengguna dari grup

Versi Metode HTTP API URL Permintaan
1.0 DELETE https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id>

Periksa keberadaan pengguna dalam grup

Versi API Metode HTTP API URL Permintaan
1.0 GET https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id>/groups/<group-name>
1.0 GET https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id>
Kode Status Respons Deskripsi
200 Ada pengguna
404 Tidak ada pengguna

Hapus pengguna dari semua grup

Versi API Metode HTTP API URL Permintaan
1.0 DELETE https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id>/groups

Kirim pesan ke sambungan

Versi API Metode HTTP API URL Permintaan Isi Permintaan
1.0 POST https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id> { "target":"<method-name>", "arguments":[ ... ] }

Tambahkan sambungan ke grup

Versi API Metode HTTP API URL Permintaan
1.0 PUT https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/connections/<connection-id>
1.0 PUT https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>/groups/<group-name>

Hapus sambungan dari grup

Versi API Metode HTTP API URL Permintaan
1.0 DELETE https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/connections/<connection-id>
1.0 DELETE https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>/groups/<group-name>

Tutup sambungan klien

Versi API Metode HTTP API URL Permintaan
1.0 DELETE https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>
1.0 DELETE https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>?reason=<close-reason>

Service Health

Versi API Metode HTTP API URL Permintaan
1.0 GET https://<instance-name>.service.signalr.net/api/v1/health
Kode Status Respons Deskripsi
200 Layanan Bagus
5xx Kesalahan Layanan

Mengalami masalah? Coba panduan pemecahan masalah atau beri tahu kami.

Membersihkan sumber daya

Jika Anda tidak akan terus menggunakan aplikasi ini, hapus semua sumber daya yang dibuat oleh mulai cepat ini dengan langkah-langkah berikut agar Anda tidak dikenakan biaya apa pun:

  1. Di portal Azure, pilih Grup sumber daya di paling kiri, lalu pilih grup sumber daya yang Anda buat. Atau, Anda dapat menggunakan kotak pencarian untuk menemukan grup sumber daya berdasarkan namanya.

  2. Di jendela yang terbuka, pilih grup sumber daya, lalu klik Hapus grup sumber daya.

  3. Di jendela baru, ketik nama grup sumber daya untuk dihapus, lalu klik Hapus.

Mengalami masalah? Coba panduan pemecahan masalah atau beri tahu kami.

Langkah berikutnya

Dalam panduan memulai ini, Anda mempelajari cara menggunakan REST API untuk menyiarkan pesan real time dari SignalR Service ke klien. Selanjutnya, pelajari lebih lanjut cara mengembangkan dan menyebarkan Azure Functions dengan pengikatan SignalR Service, yang dibangun di atas REST API.