Здесь сделан сокет и его потоковая передача в локальной сети, оба устройства должны быть в одной сети, это даст частный IP и порт для подключения, но мне нужно использовать веб-сервер, чтобы устройства могли подключаться, даже если они не находятся в одной сети. .
server = new AsyncHttpServer();
server.websocket("/", null, websocketCallback);
serverPort = Integer.parseInt(preferences.getString(SettingsActivity.KEY_PORT_PREF, "6060"));
bitrateRatio = Float.parseFloat(preferences.getString(SettingsActivity.KEY_BITRATE_PREF, "1"));
updateNotification("Streaming is live at");
server.listen(serverPort);
new Thread(new Runnable() {
@Override
public void run() {
showToast("Starting main touch server");
new MainStarter(ServerService.this).start();
showToast("started main touch server");
}
}).start();
}
уведомление с частным ip и номером порта для отправки на другое устройство для подключения
Intent intent = new Intent(this, ServerService.class);
intent.setAction("STOP");
PendingIntent stopServiceIntent = PendingIntent.getService(this, 0, intent, 0);
Notification.Builder mBuilder =
new Notification.Builder(this)
.setSmallIcon(R.drawable.ic_media_stop)
.setOngoing(true)
.addAction(R.drawable.ic_media_stop, "Stop", stopServiceIntent)
.setContentTitle(message)
.setContentText(Utils.getIPAddress(true) + ":" + serverPort);
startForeground(6000, mBuilder.build());
}