Seite 1 von 2
Network: Client Problem
Verfasst: 01.03.2015 12:05
von ProgOldie
Ich mache gerade meine ersten Network-Gehversuche anhand der PB Beispiele. Dazu habe ich das PB-Beispiel etwas abgeändert.
Code: Alles auswählen
;nach PB Examples
EnableExplicit
Enumeration
#Server
#ConWin
#ConText
EndEnumeration
Define.i Port,ConnectionID
Define.s ConnectionAdr
ConnectionAdr="192.168.1.1"
Port = 6832
If OpenWindow(#ConWin,20,20,800,600,"Verbindungsdaten Port="+Str(Port))
EditorGadget(#ConText, 10, 10, 400, 500)
EndIf
Procedure showConText(Zeile.s)
AddGadgetItem(#ConText,-1,Zeile)
EndProcedure
showContext("Initialising network")
If InitNetwork() = 0
MessageRequester("Network","Can't initialize the network !")
CloseWindow(#ConWin)
End
EndIf
showConText("Try to open connection to "+ConnectionAdr+" Port:"+Str(Port))
ConnectionID = OpenNetworkConnection(ConnectionAdr, Port)
If ConnectionID
showConText("Client connected to server...")
SendNetworkString(ConnectionID, "An hello from a client !!! :-)", #PB_UTF8)
showConText("A string has been sent To the server, please check it before quit...")
CloseNetworkConnection(ConnectionID)
Else
showConText("Can't find the server (Is it launched ?).")
EndIf
MessageRequester("Alles?","Test")
CloseWindow(#ConWin)
End
Ohne eingerichteten Server müsste doch
- falls Netzwerk nicht einrichtbar ist, die Fehlermeldung zur Netzwerkinitialisierung oder
- falls doch, zumindestens der Hinweis auf den Öffnungsversuch
kommen.
Es erscheint - auch nach einiger Wartezeit - nur das Fenster.
Fehlerursache?
Re: Network: Client Problem
Verfasst: 01.03.2015 12:58
von ProgOldie
Nachdem ich die Compileroptions richtig eingestellt habe, geht's jetzt.
Dazu noch eine Frage zu ConnectionAdr, weil ich den Wert nicht kenne bzw. verstanden habe.
Wie finde ich den Wert für ConnectionAdr in folgenden Fällen?
a) Ich will zu Testzwecken zunächst Server und Client auf dem gleichen Rechner laufen lassen (Geht so etwas?)
b) Ich will anschließend Client und Server auf verschiedenen Rechnern im gleichen Netzwerk laufen lassen.
Sorry für die vermutlich elementare Frage.
Re: Network: Client Problem
Verfasst: 01.03.2015 13:59
von Baba_Smurf
Hi,
also wenn du Server/Client auf deinem eigenen Rechner laufen lassen willst, mußt du dir einen Apache installieren,
ich benutzt dazu Xampp, lässt sich einwandfrei installieren, und verhält sich wie ein Server es muss, ansprechen tust du ihn entweder mit :
Localhost oder der IP-Adresse 127.0.0.1
hoffe du meinst das so.
mfg
Re: Network: Client Problem
Verfasst: 01.03.2015 14:45
von ProgOldie
Danke für die Antwort, es klappt jetzt mit Serve und Client auf dem gleichen Rechner (Windows 8.1.)
Apache musste dazu nicht installiert werden. Trotzdem habe ich noch drei (Verständnisfragen):
1. Wie bringt man in PB bei OpenNetworkConnection(ConnectionAdr, Port) localhost ein?
OpenNetworkConnection("localhost", Port) doch wohl nicht.
2. Wie finde ich bei zwei Rechnern den einzugebenden Wert für 'ConnectionAdr' beim Client?
3. Wenn ich nun bei zwei Rechnern jeweils senden und empfangen will, muss ich dann auf beiden Rechnern einen Server einrichten? Wenn ja, welche Portnummern kann ich dafür verwenden?
Re: Network: Client Problem
Verfasst: 01.03.2015 15:00
von Baba_Smurf
zu frage 1:
deine IP für den localhost = 127.0.0.1 sollte funktionieren, sollte so aussehen OpenNetworkConnection("127.0.0.1", Port), nur die genaue Syntax kann ich dir nicht sagen, da ich mich damit noch nicht beschäftigt habe und neu in PB bin, sorry
bei allem anderen fragste besser die die sich damit richtig auskennen.
mfg
Re: Network: Client Problem
Verfasst: 01.03.2015 18:31
von Andesdaf
OpenNetworkConnection("localhost", ...) sollte aber auch gehen.
Re: Network: Client Problem
Verfasst: 01.03.2015 18:37
von ProgOldie
OpenNetworkConnection("localhost", ...) sollte aber auch gehen.
Danke,funktioniert tatsächlich!
Hast du auch 'ne Antwort auf meine restlichen Probleme?
2. Wie finde ich bei zwei Rechnern den einzugebenden Wert für 'ConnectionAdr' beim Client?
3. Wenn ich nun bei zwei Rechnern jeweils senden und empfangen will, muss ich dann auf beiden Rechnern einen Server einrichten? Wenn ja, welche Portnummern kann ich dafür verwenden?
Re: Network: Client Problem
Verfasst: 01.03.2015 18:56
von Baba_Smurf
zu Frage 2 kann ich dir nicht wirklich helfen.
zu Frage 3:
wenn du zwei rechner übers Netzwerk miteinander verbindest, brauchste auf jeden Fall auf jedem Rechner einen Client, der die Daten sendet, aber brauchst eigentlich nur einen Server, der die Daten verarbeiten, da beide Rechner ja auf den Server zugreifen können.
Aber wie gesagt, habe keinen großartigen plan davon.
Was nutzt du denn als Server ??
Re: Network: Client Problem
Verfasst: 01.03.2015 22:34
von Bisonte
ProgOldie hat geschrieben:2. Wie finde ich bei zwei Rechnern den einzugebenden Wert für 'ConnectionAdr' beim Client?
Wenn man nur einen Server benutzt ist nur diese Adresse notwendig, da beide Rechner auf diese Adresse zugreifen.
Die Adresse des Servers muss allerdings bekannt sein. alles weitere macht der Server (bzw. muss man ihn machen lassen)
Wenn man z.B. einen Chat machen will, braucht man lediglich eine feste Adresse, auf die jeder Client zugreift.... und der Server
verteilt die Kommunikation auf die Clients.
Re: Network: Client Problem
Verfasst: 01.03.2015 23:00
von ProgOldie
Sorry, das habe ich leider immer noch nicht ganz verstanden.
Konkret habe ich im Netz einen winzigen Win8.1 Mini-Rechner, der kleinere Strecken bewegt wird und Messwerte erfasst. Diese Werte sendet er dann an einen Windows8.1 Laptop. Der Laptop wiederum soll dem Kleinstrechner Steuersignale senden, anhand derer dieser weiß, was zu messen ist. Ich habe also per WLAN einen Datenaustausch in beide Richtungen.
Muss ich dann auf jedem Rechner einen Server und einen Client einrichten?
Und wenn ja, wie finde ich deren wechselseitige Adressen?