Rumah Java javaTutorial Menggunakan WebSocket dalam Spring Boot untuk melaksanakan fungsi tolak dan pemberitahuan

Menggunakan WebSocket dalam Spring Boot untuk melaksanakan fungsi tolak dan pemberitahuan

Jun 23, 2023 am 11:47 AM
websocket spring boot pemberitahuan tolak

Dalam pembangunan aplikasi web moden, WebSocket ialah teknologi biasa untuk komunikasi segera dan penghantaran data masa nyata. Rangka kerja Spring Boot menyediakan sokongan untuk WebSocket bersepadu, menjadikannya sangat mudah untuk pembangun melaksanakan fungsi tolak dan pemberitahuan.

Artikel ini akan memperkenalkan cara menggunakan WebSocket untuk melaksanakan fungsi tolak dan pemberitahuan dalam Spring Boot, dan menunjukkan pelaksanaan ruang sembang dalam talian masa nyata yang ringkas.

  1. Buat projek Spring Boot

Pertama, kita perlu mencipta projek Spring Boot. Anda boleh membuat projek baharu dengan cepat menggunakan kebergantungan web dan WebSocket pada tapak web Spring Initializr. Kodnya adalah seperti berikut:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-websocket</artifactId>
    </dependency>
</dependencies>
Salin selepas log masuk
  1. Mengkonfigurasi WebSocket

Seterusnya, kita perlu mengkonfigurasi WebSocket supaya ia boleh dijalankan dalam aplikasi Spring Boot.

Pertama, kita perlu menambah atribut berikut pada fail konfigurasi aplikasi:

spring.websocket.enabled=true
Salin selepas log masuk

Seterusnya, tambahkan anotasi @EnableWebSocket pada kelas konfigurasi Spring Boot untuk mendayakan sokongan WebSocket. Pada masa yang sama, kita perlu melaksanakan antara muka WebSocketConfigurer dan mendaftarkan pengendali serta pemintas mesej di dalamnya untuk mengendalikan permintaan dan mesej WebSocket.

Kod adalah seperti berikut:

@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {

    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry.addHandler(new WebSocketHandler(), "/chat").setAllowedOrigins("*").withSockJS();
    }
}
Salin selepas log masuk

Dalam kod di atas, kami mendaftarkan pengendali (iaitu WebSocketHandler) yang dipanggil apabila pelanggan menyambung ke titik akhir "/chat". Gunakan kaedah setAllowedOrigins untuk menentukan asal yang dibenarkan untuk permintaan silang asal, dan kaedah withSockJS untuk mendayakan sokongan SockJS untuk keserasian dengan penyemak imbas yang tidak menyokong WebSocket.

  1. Menulis pengendali WebSocket

Sekarang kita perlu menulis kelas pengendali yang akan mengendalikan semua permintaan dan mesej WebSocket.

Dalam Spring Boot, kelas ini hanya perlu melaksanakan antara muka WebSocketHandler. Kami akan menggunakan kelas SimpeTextWebSocketHandler, yang menyediakan fungsi asas untuk mengendalikan mesej WebSocket dan di mana kami boleh melanjutkan pengendali kami sendiri.

Kod adalah seperti berikut:

public class WebSocketHandler extends TextWebSocketHandler {

    private final List<WebSocketSession> sessions = new CopyOnWriteArrayList<>();

    @Override
    public void afterConnectionEstablished(WebSocketSession session) throws Exception {
        sessions.add(session);
    }

    @Override
    public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
        sessions.remove(session);
    }

    @Override
    protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
        for (WebSocketSession s : sessions) {
            if (s.isOpen() && !s.equals(session)) {
                s.sendMessage(message);
            }
        }
    }
}
Salin selepas log masuk

Dalam kod di atas, kaedah afterConnectionEstablished dipanggil apabila sesi WebSocket baharu diwujudkan dan kaedah afterConnectionClosed dipanggil apabila WebSocket sesi ditutup. Kaedah handleTextMessage mengendalikan semua mesej WebSocket dan menghantarnya kepada semua pelanggan yang sedang bersambung.

  1. Buat Pelanggan WebSocket

Sekarang, kita perlu mencipta klien WebSocket untuk menguji fungsi tolak dan pemberitahuan pelaksanaan. Anda boleh menggunakan API WebSocket JavaScript untuk mencipta klien WebSocket.

Kodnya adalah seperti berikut:

const socket = new WebSocket('ws://localhost:8080/chat');

socket.onopen = function() {
  console.log('连接已建立');
};

socket.onmessage = function(event) {
  console.log('收到消息:', event.data);
};

socket.onerror = function(error) {
  console.log('发生错误:', error);
};

socket.onclose = function() {
  console.log('连接已关闭');
};
Salin selepas log masuk

Dalam kod di atas, kami mencipta contoh WebSocket dan cuba menyambung ke ws:// localhost:8080 / chat. Kami kemudian mendengar acara WebSocket untuk acara buka, tutup, ralat dan mesej.

  1. Jalankan projek

Sekarang kita boleh memulakan aplikasi Spring Boot dan menguji fungsi tolak dan pemberitahuan. Kami boleh menggunakan dua atau lebih pelanggan WebSocket untuk menyamar sebagai pengguna yang berbeza dan memasukkan mesej dalam satu pelanggan dan menyiarkannya kepada pelanggan lain dalam semua sesi.

Gunakan Maven untuk menjalankan perintah spring-boot:run untuk memulakan aplikasi.

Sekarang, buka berbilang tetingkap penyemak imbas dan buat klien WebSocket dalam setiap tetingkap. Masukkan mesej anda dan tekan butang hantar untuk menolak mesej kepada pelanggan WebSocket lain dalam semua sesi yang anda sedang bersembang.

  1. Ringkasan

Dalam tutorial ini, kami telah mempelajari cara menggunakan Spring Boot dan WebSocket untuk melaksanakan fungsi tolak dan pemberitahuan. Dengan sokongan WebSocket, kami boleh mencipta aplikasi masa nyata, kolaboratif dan multicast yang meningkatkan pengalaman pengguna dan meningkatkan nilai aplikasi.

Atas ialah kandungan terperinci Menggunakan WebSocket dalam Spring Boot untuk melaksanakan fungsi tolak dan pemberitahuan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript Dec 17, 2023 pm 02:54 PM

Cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem pengecaman pertuturan dalam talian Pengenalan: Dengan perkembangan teknologi yang berterusan, teknologi pengecaman pertuturan telah menjadi bahagian penting dalam bidang kecerdasan buatan. Sistem pengecaman pertuturan dalam talian berdasarkan WebSocket dan JavaScript mempunyai ciri kependaman rendah, masa nyata dan platform merentas, dan telah menjadi penyelesaian yang digunakan secara meluas. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem pengecaman pertuturan dalam talian.

Gabungan Java dan WebSocket: bagaimana untuk mencapai penstriman video masa nyata Gabungan Java dan WebSocket: bagaimana untuk mencapai penstriman video masa nyata Dec 17, 2023 pm 05:50 PM

Dengan perkembangan berterusan teknologi Internet, penstriman video masa nyata telah menjadi aplikasi penting dalam bidang Internet. Untuk mencapai penstriman video masa nyata, teknologi utama termasuk WebSocket dan Java. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan Java untuk melaksanakan main balik penstriman video masa nyata dan memberikan contoh kod yang berkaitan. 1. Apakah itu WebSocket? WebSocket ialah protokol untuk komunikasi dupleks penuh pada sambungan TCP tunggal

Bagaimana untuk mencapai komunikasi masa nyata menggunakan PHP dan WebSocket Bagaimana untuk mencapai komunikasi masa nyata menggunakan PHP dan WebSocket Dec 17, 2023 pm 10:24 PM

Dengan perkembangan teknologi Internet yang berterusan, komunikasi masa nyata telah menjadi bahagian yang amat diperlukan dalam kehidupan seharian. Komunikasi masa nyata yang cekap, kependaman rendah boleh dicapai menggunakan teknologi WebSockets, dan PHP, sebagai salah satu bahasa pembangunan yang paling banyak digunakan dalam bidang Internet, juga menyediakan sokongan WebSocket yang sepadan. Artikel ini akan memperkenalkan cara menggunakan PHP dan WebSocket untuk mencapai komunikasi masa nyata, dan menyediakan contoh kod khusus. 1. Apakah itu WebSocket?

Gabungan golang WebSocket dan JSON: merealisasikan penghantaran dan penghuraian data Gabungan golang WebSocket dan JSON: merealisasikan penghantaran dan penghuraian data Dec 17, 2023 pm 03:06 PM

Gabungan golangWebSocket dan JSON: merealisasikan penghantaran dan penghuraian data Dalam pembangunan Web moden, penghantaran data masa nyata menjadi semakin penting. WebSocket ialah protokol yang digunakan untuk mencapai komunikasi dua hala Tidak seperti model respons permintaan HTTP tradisional, WebSocket membenarkan pelayan untuk menolak data secara aktif kepada klien. JSON (JavaScriptObjectNotation) ialah format ringan untuk pertukaran data yang ringkas dan mudah dibaca.

PHP dan WebSocket: Amalan terbaik untuk pemindahan data masa nyata PHP dan WebSocket: Amalan terbaik untuk pemindahan data masa nyata Dec 18, 2023 pm 02:10 PM

PHP dan WebSocket: Kaedah Amalan Terbaik untuk Pemindahan Data Masa Nyata Pengenalan: Dalam pembangunan aplikasi web, pemindahan data masa nyata merupakan keperluan teknikal yang sangat penting. Protokol HTTP tradisional ialah protokol model tindak balas permintaan dan tidak boleh mencapai penghantaran data masa nyata dengan berkesan. Untuk memenuhi keperluan penghantaran data masa nyata, protokol WebSocket telah wujud. WebSocket ialah protokol komunikasi dupleks penuh yang menyediakan cara untuk berkomunikasi dupleks penuh melalui sambungan TCP tunggal. Berbanding dengan H

WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata Dec 17, 2023 pm 05:30 PM

WebSocket dan JavaScript: Teknologi utama untuk merealisasikan sistem pemantauan masa nyata Pengenalan: Dengan perkembangan pesat teknologi Internet, sistem pemantauan masa nyata telah digunakan secara meluas dalam pelbagai bidang. Salah satu teknologi utama untuk mencapai pemantauan masa nyata ialah gabungan WebSocket dan JavaScript. Artikel ini akan memperkenalkan aplikasi WebSocket dan JavaScript dalam sistem pemantauan masa nyata, memberikan contoh kod dan menerangkan prinsip pelaksanaannya secara terperinci. 1. Teknologi WebSocket

Bagaimanakah Java Websocket melaksanakan fungsi papan putih dalam talian? Bagaimanakah Java Websocket melaksanakan fungsi papan putih dalam talian? Dec 17, 2023 pm 10:58 PM

Bagaimanakah JavaWebsocket melaksanakan fungsi papan putih dalam talian? Dalam era Internet moden, orang ramai memberi lebih banyak perhatian kepada pengalaman kerjasama dan interaksi masa nyata. Papan putih dalam talian ialah fungsi yang dilaksanakan berdasarkan Websocket Ia membolehkan berbilang pengguna bekerjasama dalam masa nyata untuk mengedit papan lukisan yang sama dan menyelesaikan operasi seperti lukisan dan anotasi. Ia menyediakan penyelesaian yang mudah untuk pendidikan dalam talian, mesyuarat jarak jauh, kerjasama pasukan dan senario lain. 1. Latar belakang teknikal WebSocket ialah protokol baharu yang disediakan oleh HTML5

SSE dan WebSocket SSE dan WebSocket Apr 17, 2024 pm 02:18 PM

Dalam artikel ini, kami akan membandingkan Acara Dihantar Pelayan (SSE) dan WebSockets, kedua-duanya adalah kaedah yang boleh dipercayai untuk menyampaikan data. Kami akan menganalisisnya dalam lapan aspek, termasuk arah komunikasi, protokol asas, keselamatan, kemudahan penggunaan, prestasi, struktur mesej, kemudahan penggunaan dan alat ujian. Perbandingan aspek-aspek ini diringkaskan seperti berikut: Kategori Peristiwa Dihantar Pelayan (SSE) WebSocket Arah Komunikasi Sehala Dwi-arah Protokol Pendasar HTTP WebSocket Protocol Keselamatan Sama seperti HTTP Kerentanan keselamatan sedia ada Kemudahan penggunaan Tetapan Tetapan mudah Prestasi kompleks Kelajuan penghantaran mesej pantas Dijejaskan oleh pemprosesan mesej dan pengurusan sambungan Struktur mesej Teks biasa atau binari Kemudahan penggunaan Tersedia secara meluas Berguna untuk penyepaduan WebSocket

See all articles