Server und Client auf dem gleichen Computer

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

hast du nen nun schon einmal probiert ports weiterzuleiten/for_zu_warden, wie es in diesem thread schon mehrmals gesagt wurde? ansonsten, wird sich hier nämlich keiner mehr wundern, warum das bei dier nich geht, und du wirst auch keinen weiteren erfolg haben. und ohne diesen schritt brauchst du dir über die "sicherheit" deines servers auch keine gedanken machen, denn nicht einmal gewöhnliche user-clients können überhaupt eine verbindung aufbauen...
Zuletzt geändert von #NULL am 22.06.2006 19:08, insgesamt 1-mal geändert.
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

bei www.dyndns.org schon registriert und unter Account
MyAccount
-MyService
--My Host
---Dynamic DNS

eingerichtet?


FF :roll:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

ok, was soll ich bei,
Enable Wildcard und Mail Exchanger (optional)
einstellen?
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Enable Wildcard einschalten
Mail Exchanger benötigen die neuen router nicht

FF :wink:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

ok
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

Muss ichwenn ich eine Verbinung aufbaue einen bestimmten Port angeben, ich hab jetzt den der der Server verwendet angegeben?
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

Kommt drauf an, wie du deinen Clienten geschrieben hast.
Wenn dein Port "immer derselbe" ist, dann reicht die IP.

Bei Sachen wie bei WinAmp-Shoutcast, da ist der Port Variabel. Da muss man dem InternetExplorer sagen, dass er bei meinem Account den port 8000 nutzen soll, um die HTTP-Server-Funkltion nutzen zu können. "mein-account.no-ip.org:8000"

Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Joel hat geschrieben:Muss ichwenn ich eine Verbinung aufbaue einen bestimmten Port angeben, ich hab jetzt den der der Server verwendet angegeben?
Das ist schwer zu sagen ... kommt drauf an was du meinst ...
Bei den Netzwerkbefehlen musste den Parameter "Port" natürlich
angeben und dieser muss dann natürlich bei Server und Client gleich sein.

Ansonnsten verhälts sich, wie Tafkadasom2k5 schon geschrieben hat.
Wenn der Port bei deinem Programm immer gleich ist, kannst du den Port
z.B. in eine Konstante schreiben und brauchst diese später nicht mehr
vom Benutzter abfragen. Wenn der Port aber variable ist, also Server
immer andere Ports haben können, musst du auch die angabe des Ports
vom Benutzter verlangen.

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

Ich meinte dass so: hier der Code!

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 1
          MessageRequester("PureBasic - Server", "A new client has connected !", 0)
  
        Case 2
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a packet !", 0)
          ReceiveNetworkData(ClientID, Buffer, 1000)
          MessageRequester("Info", "String: "+PeekS(Buffer), 0)
  
        Case 3
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a file via the network !", 0)
          ReceiveNetworkFile(ClientID, "C:\TEST_Network.ftp3")
  
        Case 4
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has closed the connexion...", 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   


Client:

Code: Alles auswählen

If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

Port = 6832

ConnectionID = OpenNetworkConnection("joel2.dyndns.org", Port)
If ConnectionID
  
  
  
  
  CloseNetworkConnection(ConnectionID)
Else
  MessageRequester("PureBasic - Client", "Can't find the server (Is it launched ?).", 0)
EndIf
  
End   

Dass ist aber nur der Teil mit dem Verbindungaufbau! Wollte erstma so gucken ob dass klappt!
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Nicht so kompliziert denken. Dein Server hat nur einen Festen Port
Jetzt in deinen Router in Bereich NAS oder Virtuelle Server den Port 6832 auf die Locale IP-Adresse deines Rechner mit den Server einstellen


Hast du "joel2.dyndns.org" im Router für Dyamisches DNS schon eingetragen?
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Antworten