Ein MATLAB-Server

In MATLAB gibt es eine Instrument Control Toolbox, die auf den Poolrechnern installiert ist. Sie ermöglicht u.a. auf einfache Art und Weise, dass zwei MATLAB Programme miteinander über TCP/IP kommunizieren können. Das Tolle an dieser Toolbox ist, dass Sie, wenn Sie die Kapitel Datenimport und Datenexport verstanden haben, nur noch einen weiteren Befehl kennen müssen, damit Sie einen Clienten und einen Server in MATLAB erstellen können.

Der Befehl tcpip erstellt ein Sockethandle, auf das genauso zugegriffen werden kann, wie auf ein Dateihandle. Beim Aufruf des Befehls müssen Sie neben der Netzwerkadresse, dem Port nur noch die Netzwerkrolle (Entweder server oder client) angeben.

Eine beispielhafte Codezeile, um einen lokalen Server auf dem Port 45123 zu erstellen, wäre beispielsweise

handle = tcpip('localhost', 45123, 'NetworkRole', 'server');

Hinweis: Wenn Sie einen Sockethandle für einen nicht-lokalen Server erstellen wollen, müssen Sie statt der Zeichenkette 'localhost' die Zeichenkette '0.0.0.0' verwenden.

Sobald Sie das Sockethandle erstellt haben, können Sie damit arbeiten, wie mit einem Dateihandle. Zunächst müssen Sie also das Socket mit dem Befehl fopen öffnen.

fopen(handle);

Danach können Sie die Befehle

  • fopen
  • fwrite / fprintf
  • fread / fscanf
  • fgetl

wie gewohnt benutzen.

Am Ende ihrer Kommunikation müssen Sie den offenen Serverport noch schließen, in dem Sie das Sockethandle mit fclose schließen.

fclose(handle);