WebSocket ialah protokol baharu yang diperkenalkan oleh HTML5, digunakan untuk mewujudkan sambungan yang panjang antara pelanggan dan pelayan. Seperti HTTP, ia boleh berjalan pada port web standard, juga boleh melintasi tembok api dan pelayan proksi, dan telah digunakan secara meluas dalam senario seperti komunikasi masa nyata dan pemberitahuan tolak.
Sebagai bahasa pengaturcaraan yang berkuasa, Java juga menyediakan pelbagai API dan perpustakaan berkaitan WebSocket Artikel ini akan memperkenalkan cara menggunakan Java untuk membangunkan aplikasi Websocket dan menyediakan contoh kod khusus.
1. Pengenalan kepada API WebSocket
Java EE 7 menyediakan API Java JSR-356 untuk WebSocket, yang merangkumi antara muka sisi klien dan sisi pelayan WebSocket. Anda boleh menggunakan bekas Java EE 7 (seperti GlassFish, Tomcat, dll.) atau perpustakaan pihak ketiga (seperti Jetty, Tyrus, dll.) untuk melaksanakan fungsi WebSocket.
Antara muka teras dan kelas Java WebSocket API adalah seperti berikut:
Aplikasi WebSocket boleh dilaksanakan dengan mudah menggunakan Java WebSocket API, dan kami akan memperkenalkan contoh khusus seterusnya. Contoh aplikasi WebSocket 2.1 Pelaksanaan titik akhir WebSocket sebelah pelayan
Untuk melaksanakan aplikasi WebSocket pada bahagian pelayan, kita perlu mencipta titik akhir WebSocket. Kod titik akhir mudah adalah seperti berikut:
import javax.websocket.OnMessage; import javax.websocket.Session; import javax.websocket.server.ServerEndpoint; import java.io.IOException; @ServerEndpoint(value = "/chat") public class ChatEndpoint { @OnMessage public void onMessage(Session session, String message) throws IOException { // 处理收到的消息 session.getBasicRemote().sendText("You said: " + message); } }
Tentukan laluan URI titik akhir melalui anotasi @ServerEndpoint, di sini ialah "/chat". Pada titik akhir, anotasi @OnMessage dilaksanakan untuk menerima dan memproses mesej yang dihantar oleh pelanggan. Dalam kaedah ini, kita boleh memproses mesej yang diterima dan menghantar mesej respons kepada pelanggan. . titik akhir WebSocket pelanggan. Dalam kaedah utama, kami menggunakan WebSocketContainer untuk menyambung ke bahagian pelayan dan menghantar 5 mesej. Selepas menerima respons sebelah pelayan, kaedah onMessage akan dipanggil untuk diproses dan CountDownLatch akan digunakan untuk melaksanakan penantian segerak program.
import javax.websocket.ClientEndpoint; import javax.websocket.OnMessage; import javax.websocket.Session; import java.net.URI; import java.net.URISyntaxException; import java.util.concurrent.CountDownLatch; @ClientEndpoint public class ChatClientEndpoint { private CountDownLatch latch; public ChatClientEndpoint(CountDownLatch latch) { this.latch = latch; } @OnMessage public void onMessage(Session session, String message) { System.out.println("Received message: " + message); latch.countDown(); } public static void main(String[] args) throws Exception { final int messageCount = 5; final CountDownLatch latch = new CountDownLatch(messageCount); URI uri = new URI("ws://localhost:8080/chat"); ChatClientEndpoint client = new ChatClientEndpoint(latch); WebSocketContainer container = ContainerProvider.getWebSocketContainer(); container.connectToServer(client, uri); for (int i = 0; i < messageCount; i++) { String message = "Hello " + i; client.sendMessage(message); System.out.println("Sent message: " + message); } latch.await(); container.close(); } public void sendMessage(String message) { try { session.getBasicRemote().sendText(message); } catch (IOException e) { e.printStackTrace(); } } }
WebSocket ialah protokol baharu yang sangat berkuasa yang membolehkan program mewujudkan komunikasi masa nyata dan fungsi tolak masa nyata. Java juga menyediakan sokongan API dan perpustakaan yang kaya untuk WebSocket. Artikel ini menerangkan cara membangunkan aplikasi WebSocket menggunakan Java dan memberikan contoh kod khusus. Saya harap artikel ini boleh membantu untuk membangunkan aplikasi WebSocket dalam Java.
Atas ialah kandungan terperinci Bagaimana untuk membangunkan aplikasi Websocket menggunakan Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!