Я пытаюсь установить соединение Wi-Fi в android через WebClient на странице Html, когда соединение inte rnet теряется, я запускаю веб-сервер с помощью библиотеки nanohttpd-webserver и показываю страницу Hmtl соединения Wi-Fi в WebServer, но я необходимо отправить информацию о списке подключений Wi-Fi к WebServer, чтобы я создал Socket Server в android, для этого я использовал библиотеку netty-socketio. Когда я использовал библиотеки nanohttpd-webserver и netty-socketio, я получил ошибку при использовании того же порта, как я могу решить эту проблему, Ошибка: порт уже определен
try {
//Open Server for Wifi Connection
androidWebServer = new Httpd(3000,c);
androidWebServer.start();
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
//Create socket Server connection
config = new Configuration();
config.setHostname("localhost");
config.setPort(3000);
server = new SocketIOServer(config);
//Get listOfWifi
List<WifiList> listWifiList = Utils.getWifiLists();
Log.i("ListOfWifi","" + listWifiList);
server.addConnectListener(client -> {
System.out.println("Client has Connected!");
});
server.addEventListener("client-ready", String.class, (client, message, ackRequest) -> {
System.out.println("Client said: " + message);
});
server.start();
} catch (IOException e) {
e.printStackTrace();
}
Класс Httpd
public class Httpd extends NanoHTTPD {
Context context;
public Httpd(int port,Context c) {
super(port);
context = c;
}
public Httpd(String hostname, int port) {
super(hostname, port);
}
@Override
public Response serve(String uri, Method method,
Map<String, String> header,
Map<String, String> parameters,
Map<String, String> files) {
String answer = "";
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(context.getAssets().open("pixage_wifi_player/layout/index.html")));
String line = "";
while ((line = reader.readLine()) != null) {
answer += line;
}
reader.close();
} catch(IOException ioe) {
Log.w("Httpd", ioe.toString());
}
return new NanoHTTPD.Response(answer);
}
}