Установите соединение между java (сервер websocket) и клиентом javascript - PullRequest
0 голосов
/ 11 октября 2019

Мне нужно установить соединение между java WebSocket и javascript. Но я закончил со следующей ошибкой -

Соединение Web Socket с 'ws: // localhost: 8081 / websocket' не удалось: Ошибка при установлении соединения: net :: ERR_CONNECTION_REFUSED

package com.webchat.backend;

import javax.websocket.EncodeException;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
import java.util.*;
import java.util.concurrent.CopyOnWriteArraySet;


@ServerEndpoint(value = "/websocket")
public class Socket {
    private static final Set<Socket> chatEndpoints = new CopyOnWriteArraySet<>();
    private Session session;

    @OnOpen
    public void onOpen(Session session) {
        this.session = session;
        chatEndpoints.add(this);
    }

    @OnMessage
    public void onMessage(String message, Session session) {
        try {
            if (session.isOpen())
                session.getBasicRemote().sendText(message);
            else
                System.out.println("Session is not opened");
        } catch (IOException io) {
            System.out.println("Error in sending the message");
        }
    }

    public void sendAllUser(String message)  {
        this.chatEndpoints.forEach(endpoint -> {
            System.out.println(1);
            synchronized (endpoint) {
                System.out.println(2);
                try {
                    System.out.println("is this working");
                    endpoint.session.getBasicRemote().sendObject(message);
                } catch (IOException | EncodeException encodeException) {
                    System.out.println(3);
                    System.out.println("unable to send message");
                }
            }
        });
    }
}

Клиентская сторона

WorkFlow

<h4>Hi websocket</h4>
<script>
    const socket = new WebSocket("ws://localhost:8081/websocket");
    socket.onmessage = (event) => {
        alert(event.data);
    }
</script>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...