Ich habe eine Java -Swing -Anwendung für die Bildschirmfreigabe mit den folgenden Funktionen entwickelt: < /p>
Bildschirmaufnahme und Streaming von Server zu Client. Clients, Dateien senden, empfangene Dateien öffnen). Wenn ich sowohl den Server (als JAR verpackt) als auch den Client unter Windows -Maschinen ausführe, funktionieren alle Funktionen wie erwartet. Wenn ich das Serverjar jedoch auf einem Linux -Computer ausführe und einen Windows -Client anschließe, schlägt die Funktionen der Bildschirmfreigabe fehl. Der Client verbindet sich erfolgreich und der Benutzername wird ausgetauscht, aber der Bildschirmstrom scheint nicht vom Windows -Client empfangen zu werden. Die Funktionen der Chat- und Dateiübertragungsfunktionen scheinen jedoch zwischen dem Linux -Server und dem Windows -Client zu funktionieren.private static void startServer(JTextArea clientListArea, JLabel portLabel) {
try {
serverSocket = new ServerSocket(PORT);
//PORT = serverSocket.getLocalPort();
portLabel.setText("Port: " + PORT);
while (sharing) {
Socket clientSocket = serverSocket.accept();
InputStream inputStream = clientSocket.getInputStream();
DataInputStream dis = new DataInputStream(inputStream); // Use DataInputStream
String username = dis.readUTF();
if (username.isEmpty()) {
clientSocket.close();
continue;
}
ClientInfo clientInfo = new ClientInfo(clientSocket, username);
connectedClients.add(clientInfo);
updateClientList(clientListArea);
new Thread(new ScreenSender(clientSocket, clientInfo, clientListArea)).start();
}
} catch (IOException e) {
if (sharing) {
e.printStackTrace();
}
}
}
< /code>
Kann jemand Einblicke geben, warum die Bildschirmfreigabe möglicherweise speziell fehlschlägt, wenn der Server unter Linux und dem Client unter Windows ausgeführt wird? Gibt es plattformspezifische Überlegungen oder Bibliotheken, die ich in meiner Screensender-Klasse möglicherweise fehlt, insbesondere in Bezug auf Robot und Toolkit.getDefaulttoolkit (). GetCreenSize ()? Alle Vorschläge für Debugging oder alternative Ansätze, um eine plattformübergreifende Kompatibilität für die Bildschirmfreigabe zu gewährleisten, wäre sehr geschätzt.
Die Bildschirmfreigabe -Anwendung (Java Swing) funktioniert auf Windows Server/Client einwandfrei, fällt jedoch fehl, we ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post