Zu bearbeiten waren in dieser Veranstaltung 4 Aufgaben, 2 in JAVA und 2 in C:
Aufgabe
Loesung: Main.java
HMap.java
Receive.java
Sockenschuss.java
Zum Glueck zeigte mit der Knuspermagier dieses wunderbare design pattern welches es ermoeglicht global erreichbare Objekte in Java zu erzeugen. Somit konnte ich eines der fuer mich schlimmsten "Features" von Java eliminieren und diese Uebung sinnvoll und ohne verrueckt zu werden loesen.
Aufgabe
Verwendete Konzepte: Threads, Objektserialisierung, Sockets, "LinkedList", ...
Loesung: MainGateway.java
MainClient.java
MainWorker.java
List.java
ServerClient.java
ServerWprker.java
SumUpJob.java
WaitForClient.java
WaitForWorker.java
Aufgabe
Loesung
"Hackerseite" zu diesem Thema die hilfreicher als alle Scripte und Buecher zusammen ist
Allgemeine Portmapper Sachen:
-----------------------------
1. Portmapper starten:
/etc/rc.d/portmap start
2. Server starten und kucken ob er laeuft:
rpcinfo -p
Program Vers Proto Port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
805306368 1 udp 55622
805306368 1 tcp 57531
3. Client starten
Wenn die Fehlermeldung:
RPC: Program not registered
auftritt, muss portmap in der
/etc/hosts.allow
erlaubt werden, z.B.:
portmap : ALL
Grundgeruest fuer RPC Anwendungen erstellen:
--------------------------------------------
1. foo.x Datei erstellen (siehe Script oder Beispielprogs vom Reich)
2. Stubs/Sekeltons genrieren:
rpcgen -C foo.x
3. Beispiel Server und Client erzeugen:
rpcgen -Sc foo.x > client.c
rpcgen -Ss foo.x > server.c
4. Programmlogik hinzufuegen
5. Programm kompilieren:
gcc client.c foo_clnt.c foo_xdr.c -l nsl -o client
gcc server.c foo_svc.c foo_xdr.c -l rpcsvc -l nsl -o server
Loesung: sumUp.x
sumUp_xdr.c
client.c
server.c
sumUp_clnt.c
sumUp.svc.c
sumUp.h