Подключение клиента React к Netty SocketIO Spring Boot Backend приводит к основной проблемеJAVA

Программисты JAVA общаются здесь
Anonymous
Подключение клиента React к Netty SocketIO Spring Boot Backend приводит к основной проблеме

Сообщение Anonymous »

Я пытаюсь подключить свой интерфейс Next.js к серверу Spring boot, в котором я использую сервер nettyocketio.
Я получите ошибку 404 в консоли браузера.
Изображение
< /p>
Это мой внутренний код:

Код: Выделить всё

@Configuration
public class SocketIOConfig {
@Bean
public SocketIOServer socketIOServer() {
com.corundumstudio.socketio.Configuration config = new com.corundumstudio.socketio.Configuration();
config.setPort(8081);
config.setOrigin("*");
return new SocketIOServer(config);
}
}
Я также добавил cors в свой основной класс приложения:

Код: Выделить всё

@Bean
public FilterRegistrationBean corsFilter() {
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.addAllowedOrigin("*");
config.addAllowedHeader("*");
source.registerCorsConfiguration("/**", config);
registrationBean.setFilter(new CorsFilter(source));
registrationBean.setOrder(0);
return registrationBean;
}

@Component
public class SocketIOServerRunner implements CommandLineRunner {
private final SocketIOEvents socketIOEvents;

@Autowired
public SocketIOServerRunner(SocketIOEvents socketIOEvents) {
this.socketIOEvents = socketIOEvents;
}

@Override
public void run(String...  args) {
socketIOEvents.init();
}
}

@Component
public class SocketIOEvents {
private final SocketIOServer server;

@Autowired
public SocketIOEvents(SocketIOServer server) {
this.server = server;
}

public void init() {
server.addConnectListener(client -> {
System.out.println("Client connected: " + client.getSessionId());
server.getBroadcastOperations().sendEvent("messageFromServer", "Client connected: " + client.getSessionId());
});

server.addDisconnectListener(client -> {
System.out.println("Client disconnected: " + client.getSessionId());
});

server.addEventListener("messageFromClient", String.class, (client, data, ackSender) -> {
System.out.println("Received message: " + data);
server.getBroadcastOperations().sendEvent("messageFromServer", data);
});
}
}
Это код моего интерфейса Next.js:

Код: Выделить всё

"use client";

import { useEffect, useState } from "react";
import { io } from "socket.io-client";

export default function Home() {
const [input, setInput] = useState("");
const [messages, setMessage] = useState([]);

const socket = io("http://localhost:8080");

useEffect(() => {
socket.on("connect", () => {
console.log(socket.id);
});

socket.on("messageFromServer", (data) => {
console.log(data);
setMessage((oldArray) => [...oldArray, data.data]);
});

socket.io.on("reconnect", (data) => {
console.log("reconnect event");
console.log(data);
});
}, []);

const onChangeHandler = (event: any) => {
setInput(event.target.value);
};

return (


 {
console.log("here");
socket.emit("messageFromClient", { data: input });
}}>
Submit

{messages.map((item, index) => {
return {item};
})}

);
}
Полный исходный код здесь.
Обнаружена ошибка 404 в консоли браузера при попытке подключить интерфейс Next.js к вашему Бэкэнд Spring Boot с использованием сервера Netty Socket.IO.

Подробнее здесь: https://stackoverflow.com/questions/783 ... in-core-is

Вернуться в «JAVA»