Seite 1 von 1

Netzwerk ohne Server

Verfasst: 14.11.2005 20:31
von Xaby
Hallo, mein Name ist Folker.
Ich programmiere schon seit dem ich einen KC85 mit 9 Jahren in die Hand bekommen habe. BASIC.
Allerdings wars doch recht langsam. Später habe ich dann mit BasicA und GW-Basic auf einem IBM PS2 (80286 20Mhz), SW-Monitor weiter gemacht. Auf einem DX2 Q-Basic und dann bin ich vom Interpreter zum Compiler bei Pascal gewechselt.
Das war DOS. > Delphi, Java, C++, C# ist alles nicht so das richtige für mich gewesen. PureBasic ist das beste, was ich bis jetzt für das Geld bekommen habe.

Das war die Einführung. Nun folgt etwas Code:

LANCopy:

Code: Alles auswählen

Text$=GetClipboardText()
DateiName$="LANCopy.txt"
#Dat=3
CreateFile(#Dat,DateiName$)
WriteString(Text$)
CloseFile(#Dat)
LANPaste:

Code: Alles auswählen

#Dat=3
DateiName$="LANCopy.txt"
  If 0<>ReadFile(#Dat,DateiName$)
    Text$=ReadString()
    CloseFile(#Dat)
    SetClipboardText(Text$)
  EndIf
Wozu? > Ich arbeite oft an mehreren Rechnern gleichzeitig, um sie einzurichten oder Daten zu kopieren oder sie Fernzusteuen und Dinge auszuprobieren. (z.B.: RemoteAdmin)

Manchmal steht auch mein NoteBook auf dem Schreibtisch und ich habe dort gerade eine WebSeite offen und möchte diese gern auf meinem Rechner/Monitor vormir sehen. ...

Instinktiv kopiere ich also die URL und gehe an die andere Tastatur und möchte es einfügen ...
Aber ist ja nicht in der Zwischenablage.

Ich habe mir für LANCopy und LANPaste zwei Icons gemacht und verknüpfungen, beide sind jetzt in der Taskleiste unweit von der Uhr, aber nicht im Tray.

> Aber wenn ich drei Rechner benutze und einen zwischendurch abschalte und der Rechner auf dem das freigegebene Verzeichnis für die LANCopy.txt sein müsste dadurch nicht existiert ...
Okay, nun kurz das Problem:

Ohne Dateifreigabe über TCP/IP geht es bestimmt, aber nicht mit dem Server/Client-Modell.

Wie kann man ein Dynamisches Netzwerk erschaffen, in dem des egal ist, ob der z.B. bei Half-Life: Host abschmiert oder nicht.
> Die anderen sollen weiterspielen können und wenn der ehemalige Server wieder einsteigen will, ist das auch kein Problem. Vielleicht sogar mit seinen alten Frags ...

Oder für solche Dinge wie bei mir.

>> Noch etwas Werbung in eigener Sache <<
FolkisA goes PureBasic [Das ist ein Spiel]
http://www.h-data.de/folkisa


Gruß, Folker.[/code]

Verfasst: 14.11.2005 21:31
von PMV
Als mit PureBasic eigenen befehlen ist nur das Server-Client model möglich ... mit TCP/IP kenn ich mich nicht aus, aber ich würd sagen das es auch hier nur mit Server-Client geht.

Aber um das ganze zu umgehen kannst du ja folgendes machen:

jeder PC erstellt einen Server und connected zu jedem anderen Server (per Client versteht sich)
wird nun auf einem PC was kopiert verschieckt dieser das zu allen anderen PCs
die anderen PCs schicken dann ein "erhalten" zurück
kommt nach X Sekunden (Timeout) kein "erhalten" zurück, ist der Server down (der PC vermutlich aus?) und somit wird dieser von der aktuellen Online-Server-Liste gestrichen

Das dürfte eigentlich so keine probleme bereiten :D

MFG PMV

Verfasst: 14.11.2005 21:51
von Xaby
Das könnte man machen, aber in meiner Überlegung entstehen dann aus 100 Verbindungen bei einem Server-Client-Modell > 100x100 Verbindungen und ob das so das beste ist.

Ich habe schon Probleme, überhaupt eine Liste im LAN von allen anwesenden zu bekommen, die nicht in der selben Arbeitsgruppe sind!
Wie siehts da aus, was mache ich falsch.

Wenn ich das hätte, könnte sich jeder bestimmt auf eine ganz einfache Weise einem anderen mitteilen.

Vielleicht geht es wie mit BNC im Ring. Da wurde doch eine Nachricht erst einmal durch die Leitung geschickt und jeder hat nachgesehen, ob sie für den eigenen Rechner bestimmt war ... schätze ich.

Eine Art KettenMail vielleicht mit allen beteiligten.

>> Ich hatte gerade beim Schreiben einen Blitzgedanken.
Wenn ich weiß, wer im Netz ist... Name, IP oder wie auch immer ...
und wir einfach sagen: Jeder, der dieses LANCopy nutzen will, muss einen Ordner besitzen den er als SCHREIB bezeichnet hat und auf den jeder uneingeschränkt zugreifen und schreiben kann, ...

Beispiel: Liste:
PAUL
HOST
XABY
SUBY
TIM

Die Ordner sind dann ja immer \\SUBY\SCHREIB\LANCopy.txt

Dann hat jeder eine eigene Datei und ist nicht mehr auf die anderen Angewiesen. ... Den Rest dazu kriege ich auch hin, ...

aber wie kriege ich diese LISTE?

Denn: Get_IP-Names_in_LAN.pb
aus dem CodeArchive zeigt nur Nutzer im gleichen Netz an.
Ich bin in HAUSNETZ und mein zweiter Rechner in WORKGROUP z.B.
Die finden sich nicht ...

Bitte Hilfe, vielleicht einen *.pb Zweizeiler, der mir eine Liste of Elements mit den Namen gibt.
Cool wäre natürlich auch, wenn das irgendwie auch auf UNIX läuft.
Aber dann wohl eher ohne Dateifreigabe ...

Gruß, Folker.

Verfasst: 15.11.2005 09:16
von Tafkadasom2k5
Eine Idee von Marc.
Es gibt eine Userlib von Sebastian 'PureFan' Lackner. Eine "UDP"-User Library.
Mit dieser kann man auch Broadcasten.
D.H.:
Alle Rechner starten einen Server auf dem gleich Port, und einen Clienten auf dem gleichen Port.
Wenn Rechner A einen Copy-Befehl macht sendet er:
"Last Data + *eigene IP*"

Und jeder Rechner der an ist, loggt das mit (z.B. "Last Data + IP des Rechners".)

Der Rechner, auf dem der Paste Befehl ausgeführt wird, sendet eine Anfrage an den "Copy-Rechner", woraufhin dieser dem "Paste-Rechner" die gewünschten Daten schickt.
So ist es Dynamisch.

Einiger Nachteil:
Wenn mehrer Leute gleichzeitig das Programm im gleichen netzwerk benutzen... Dann kann es schon mal vorkommen, dass ich einen falschen Text paste, weil du in der zwischenzeit meines Recherwechseks auf nem anderen Rechner den Copy Befeh ausgeführt hat.
Aber das lässt sich auch durch "Benutzerebenen" regeln.

Gr33tz
Der Marc :allright:

Achja: Tolle und einfache Idee die bestimmt hilfreich manchmal ist :)

Okidokelie

Verfasst: 15.11.2005 22:26
von Xaby
Ich werds bei Gelegenheit mal veruschen, stecke zur Zeit eher voll in den Arbeiten zu FolkisA 2.5.
Ich habe mal zu den User-Libs eine Frage, wenn ich jetzt diese oder andere benutze, auch z.B. die vom JaPBEditor, wie sieht es dann mit den Lizensen aus.
Ich habe nählich gerade das Problem, dass ich glaube, dass die FMOD nur für Freeware Dinge ist und wie könnte ich eine 3D-Engine benutzen, die frei ist und gleichzeitig mir das Recht zur Komerzialisierung einräumt.

Das Thema schweift ab, aber das mit den Rechten ist etwas kompliziert und für schönes Programmieren lässtig.
Ich meine, man bekommt tolle User-Libs und alles läuft und dann muss man sich wenn das Programm Efolgreich ist und auch VErkaufsreife erreicht darum kümmern, dass man alles neuprogrammiert oder?

Ich müsste also gleich Lizensfreie Produkte nutzen, um später nicht diesen aufwand zu haben. ...
Bitte um Aufklärung.
Vielleicht eine Liste, welche Libs für Kommerziele Dinge benutzt werden dürfen und welche nur für FreewareProdukte sind, etc ...

Danke. Gruß, F.

Verfasst: 15.11.2005 22:58
von Andre
Xaby: nahezu alle UserLibs auf PureArea.net sind auch für kommerzielle Anwendungen ok. Worauf Du ein besonderes Augenmerk legen solltest, sind sogenannte "Wrapper"-Libs, welche die einfache Einbindung/Verwendung von externen Dlls ermöglichen. Dazu gehört dan z.B. FMod.

Verfasst: 15.11.2005 23:35
von ts-soft
Liste gibts bisher nicht, aber z.B. folgende DLLs kosten bei kommerzieller
Nutzung Gebühren: FMOD.dll, Bass.dll, Bassmod.dll
Am besten immer die Lizenzbedingen der Hersteller studieren, bevor Du Dein
kommerzielles Projekt erstellst!

Verfasst: 16.11.2005 19:44
von Tafkadasom2k5
Keinen Kommentar zu meiner "Idee" für das Netzwerk?

Gr33tz
Der Marc