3 Stimmen

Socket-Synchronisierung - Java-Client zu MATLAB-Server

Ich implementiere ein System mit einem MATLAB-Server, der einen Socket verwendet, um eine TCP-Verbindung zu akzeptieren, und einem Java-Client, der sich mit diesem Server verbindet.

Mein Problem ist, dass, wenn der Server die Verbindung des Clients akzeptiert, anscheinend, der Client verwaltet, um die Eingabe zu senden, bevor der Server verwaltet, um eine Zeile des Codes zu erreichen, die es in das Lesen der erwarteten Eingabe vom Client sperrt...

Angenommen, ich weiß nicht, wie viel Zeit zu warten wäre sicher, in einem generischen Fall, gibt es eine Möglichkeit, dieses Problem für alle Situationen zu lösen?

Könnte ich eine Art Lock-Objekt verwenden, das von MATLAB und Java gemeinsam genutzt wird? Sollte ich davon ausgehen, dass der Client immer auf eine Art Bestätigung vom Server wartet? Und wenn ja, wie genau kann ich garantieren, dass der Server nach dem Senden einer solchen Benachrichtigung an den Client schnell genug zuhört?

Vielen Dank im Voraus!

Übrigens, wenn jemand eine einfache Möglichkeit kennt, die Systemzeit von Java (System.currentTimeMilis()) in MATLAB zu erhalten, wäre es nützlich, dies weiter zu testen. Ich weiß, dass es einige Funktionen für den Zugriff auf die Zeit in MATLAB gibt, aber ich weiß nicht, ob es eine (oder mehrere) Möglichkeit gibt, die Zeit auf die gleiche Weise wie in Java zu erhalten.

1voto

Yair Altman Punkte 5704

Es gibt einfachere Möglichkeiten, Matlab von Java aus aufzurufen - JMI zum Beispiel: http://undocumentedmatlab.com/blog/jmi-java-to-matlab-interface/

Was die Systemzeit betrifft, so führen Sie diese in Matlab aus:

javaTime = java.lang.System.currentTimeMillis

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X