Seite 1 von 2
String an IP-Adresse senden
Verfasst: 01.04.2012 17:46
von Martin66119
Einen schönen Sonntag,
ich hoffe mir kann jemand mit einem Beispielcode helfen, wie man von einer bekannten IP-Adresse (also meiner) übers Internet zu einer anderen IP-Adresse (zu meinem Bekannten) einen String senden kann und dieser auf der anderen Seite angezeigt wird.. Ich hoffe es gibt da einen kleines Beispiel dafür, das ich verstehe.
Wäre sehr nett wenn mir jemand helfe kann.
Grüße
Martin
Re: String an IP-Adresse senden
Verfasst: 01.04.2012 17:55
von ts-soft
Re: String an IP-Adresse senden
Verfasst: 01.04.2012 19:27
von Martin66119
Vielen Dank TS-Soft,
die Network-Befehle hatte ich gefunden. Ich hatte aber gehofft, dass es irgendwo ein Beispielprogramm gibt, das ich probieren und mir Zeile für Zeile anschauen kann, damit ich alles verstehe. Vielleich hast du oder jemand eins.
Grüße und Danke
Martin
Re: String an IP-Adresse senden
Verfasst: 01.04.2012 19:35
von Sirius-2337
Auf der von ts-soft verlinkten Seite befinden sich doch zwei Beispielcodes.
Die kannst du so übernehmen, du musst nur bei "NetworkClient.pb" die IP-Adresse von "127.0.0.1" auf deine IP ändern und höchst wahrscheinlich eine Portweiterleitung in deinem Router einstellen.
Re: String an IP-Adresse senden
Verfasst: 01.04.2012 20:08
von Martin66119
Hallo Sirius-2337,
vielen Dank!
Im Client Programm trage ich also meine IP-Adresse ein, die ich gerade im Internet zugeteilt bekommen habeoder die mit der ich auf den Router zugreife? . Und dann noch! Wie stelle ich die Portweiterleitung im Speetport W701 ein?
Wie du siehst habe ich keine Ahnung!
Ich starte also auf meinem rechner das Serverprogramm und z.B auf einem zweiten rechner bei mir zu Hause das Clientprogramm. Dann könnte ich also zwischen beiden daten austauschen. Ist das richtig?
Grüß
Martin
Re: String an IP-Adresse senden
Verfasst: 01.04.2012 20:19
von ts-soft
Willst Du über das Internet oder nur über das lokale Netzwerk?
Zum testen würde ich erstmal den Server und Client auf demselben
Computer laufen lassen, das geht dann über den lokalhorst "127.0.0.1"!
Re: String an IP-Adresse senden
Verfasst: 01.04.2012 20:45
von STARGÅTE
@Martin66119
Wenn du nicht weißt, wie du an deinem Router eine Portweiterleitung einrichten kannst, kann dir hier auch keiner mit einem Beispielcode helfen, dar dieser ja dann trotzdem keine Portweiterleitung einrichtet.
Wenn du nur in deinem LAN etwas testen möchtest, genügt die eingabe der lokalen Netzwerk IP (meist 192.168.0.x) und der Beispielcode sollte laufen
Re: String an IP-Adresse senden
Verfasst: 01.04.2012 21:07
von Martin66119
Hallo TS-Soft,
ich habe nun beides auf dem selben PC am laufen. Es klappt.
Was ich letztendlich wissen möchte oder vorhabe, ist etwas übers Internet zu senden. MeinRouter hat die IP "192.168.2.1".
Grüße
Martin
Re: String an IP-Adresse senden
Verfasst: 01.04.2012 21:24
von ts-soft
Da Du keine Feste IP im Internet hast, musst Du diese ermitteln, z.B. hier:
http://www.wieistmeineip.de/
Ansonsten gibt es so Seiten, wo man sich anmeldet und eine dynamische IP bekommt, die ist dann unter
einer URL erreichbar: z.B hier weiter Lesen:
http://www.aidex.de/software/webserver/ ... he-ip.html
Den genutzten Port musst Du in Deinem Router-Menü freigeben, so das die Daten auch nach draußen
wandern bzw. nach innen weitergeleitet werden, außerdem ist der Port in der Firewall freizugeben.
Diese Dinge haben allerdings recht wenig mit PureBasic zu tun, das sind Netzwerkgrundlagen die Du Dir
woanders, sprich Wikepedia u.ä. erarbeiten solltest.
Re: String an IP-Adresse senden
Verfasst: 01.04.2012 21:47
von Martin66119
Hallo TS-Soft!
client:
Code: Alles auswählen
If InitNetwork() = 0
MessageRequester("Error", "Can't initialize the network !", 0)
End
EndIf
Port = 6832
ConnectionID = OpenNetworkConnection("79.196.61.67", Port); Habe ich von "Wie ist meine IP"
If ConnectionID
MessageRequester("PureBasic - Client", "Client connected to server...", 0)
;For i = 0 To 2
Input$ = InputRequester("Titel", "Bitte machen Sie Ihre Eingabe:", "Ich bin die Standardeingabe.")
SendNetworkString(ConnectionID, Input$)
;Next i
MessageRequester("PureBasic - Client", "A string has been sent to the server, please check it before quit...", 0)
CloseNetworkConnection(ConnectionID)
Else
MessageRequester("PureBasic - Client", "Can't find the server (Is it launched ?).", 0)
EndIf
End
server:
Code: Alles auswählen
If InitNetwork() = 0
MessageRequester("Error", "Can't initialize the network !", 0)
End
EndIf
Port = 6832
*Buffer = AllocateMemory(1000)
If CreateNetworkServer(0, Port)
MessageRequester("PureBasic - Server", "Server created (Port "+Str(Port)+").", 0)
Repeat
SEvent = NetworkServerEvent()
If SEvent
ClientID = EventClient()
Select SEvent
Case #PB_NetworkEvent_Connect
MessageRequester("PureBasic - Server", "A new client has connected !", 0)
Case #PB_NetworkEvent_Data
MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a packet !", 0)
ReceiveNetworkData(ClientID, *Buffer, 1000)
MessageRequester("Info", "String: "+PeekS(*Buffer), 0)
Case #PB_NetworkEvent_File
MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a file via the network !", 0)
ReceiveNetworkFile(ClientID, "C:\TEST_Network.ftp3")
Case #PB_NetworkEvent_Disconnect
MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has closed the connection...", 0)
Quit = 1
EndSelect
EndIf
Until Quit = 1
MessageRequester("PureBasic - Server", "Click to quit the server.", 0)
CloseNetworkServer(0)
Else
MessageRequester("Error", "Can't create the server (port in use ?).", 0)
EndIf
End
In meinem Router habe ich nun unter
Netzwerk / NAT & Portregeln
unter Umgeleitete Ports - Öffentlich und Umgeleitete Ports - Private Client den Port 6832 eingetragen.
Nun kommt aber die Fehlermeldund Can´t create the server (port in use?)
Warum gehts denn nicht.
Grüße
martin