Я разрабатываю проект Spring-Boot, который также включает сервер socketIO, основанный на netty-socket Io. И поэтому два клиента: веб-клиент и клиент android! все они прекрасно работают локально! Но когда я развертываю онлайн-сервер в Jelasti, c только веб-клиент, который обращается к серверу netty-SocketIO, но клиент android не может подключиться к серверу netty-SocketIO. кто-то может помочь мне настроить сервер netty-socketIO для приема всех запросов с любого адреса на порт 8888
Конфигурация сервера
Configuration config = new Configuration();
//config.setHostname("sec.j.layershift.co.uk");
config.setHostname("0.0.0.0");
config.setPort(8888);
final SocketIOServer server = new SocketIOServer(config);
// Listen for client connections
server.addConnectListener(client -> {
System.out.println("************ Client: " + getIpByClient(client) + " Connected ************");
});
Конфигурация веб-клиента
@CrossOrigin("*")
@RestController
public class ClientLocation {
Socket socket =null;
EventBuilder eventBuilder =null;
Gson gs = new Gson();
//................................
socket = IO.socket("http://sec.j.layershift.co.uk:8888");
socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
@Override
public void call(Object... args) {
ChatObject co = new ChatObject("ADMIN", "");
String infUser = gs.toJson(co);
System.out.println("\n"+infUser);
JSONObject jb = new JSONObject();
try {
// jb.put("userName", co.getUserName());
// jb.put("message", co.getMessage());
jb = new JSONObject(infUser);
socket.emit("username", jb);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Конфигурация клиента java или android
private void clientIO(){
try {
socket = IO.socket("http://aug-sec.j.layershift.co.uk:8888");
socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
Nb. Конфигурация клиента java или android идентична конфигурации веб-клиента, поскольку все они используют Socket.IO v1.0.0. Но только веб-клиент работает с хоста Jelasti c, потому что он находится в той же папке, что и сервер, и клиенты java не работают, поэтому все работает на localhost или в LAN