If Fase Logo

mit Google im Archiv der If Fase

Ausgabe 11 vom 1. September 2006 (als PDF):

27. August 2006 – Dr. Ludger Humbert

Präsentation über das Internet transparent steuern

Programmieren

Auch Spielereien lassen sich ab und zu einsetzen, um Prinzipien zu erläutern. Im vorliegenden Fall handelt es sich darum, wie mit einem mobilen Gerät (Nokia 770) über eine WLAN-Netzverbindung die Applikation OpenOffice.org mit Impress als Präsentationsprogramm ferngesteuert werden kann.

Serverseitige Vorbereitung

OpenOffice.org wird mit den folgenden Parametern gestartet: ooffice "-accept=socket,host=localhost, port=2002;urp;" Anschließend können über eine Netzwerkverbindung Daten ausgetauscht werden. Bisher ist nur die Richtung hin zu OpenOffice.org realisert. Die beiden Module server.py, 553 Byte und impressCalls.py, 1866 Byte [inkl. Kommentierung und Testausgaben] erledigen die serverseitige Verbindung zur geöffneten Applikation. Mit python server.py wird der Server gestartet und wartet nun auf Anfragen …

Klienten

Um die Verbindung zu testen, kann eine telnet-Sitzung auf den Port 2728 des Servers initiiert werden. Nach erfolgter Verbindung kann mit FW rsp. BW eine (noch nicht im Präsentationsmodus!) geöffnete Präsentation gesteuert werden. Allerdings kann mit dieser Varinate immer nur genau ein Kommando abgesetzt werden, danach wird die telnet-Sitzung geschlossen.

Verfügt man über ein N770, so kann die Steuerung nach der Installation des Debian-Pakets frade.no-ip.info:2080/~ivan/oopc/oopc.html mit den Schaltflächen Forward und Back vorgenommen werden.

Der Autor hat sich eine Benutzungsoberfläche zum Ziel gesetzt, die in der folgenden Abbildung dargestellt ist:

Impress Fernbedienung

OpenOffice.org Impress Fernbedienung Quelle: http://frade.no-ip.info:2080/~ivan/oopc/screenshot-prototype.png

Wie wird es auf der Seite des Klienten realisiert? Zunächst wird ein Sockel instanziiert. Über diesen wird die Verbindung initiiert – dazu wird die IP-Nummer des Klienten angegeben und der Port 2728 ausgewählt. Da der Server einen der beiden Zeichenketten "FW" oder "BW" erwartet, wird eine dieser Zeichenketten an den Server übermittelt. Anschließend wird der Sockel geschlossen. Die folgenden – voll funktionsfähigen – Zeilen stellen den Kern der Fernsteuerung bereit:

%
%

from socket import *

sockel = socket(AF_INET, SOCK_STREAM)

sockel.connect(("127.0.0.1",2728) )

sockel.send("FW")

sockel.close()

Die hier veröffentlichten Inhalte stellen keine Meinungsäußerungen der Studienseminare Hamm Arnsberg dar.
© Redaktion If Fase