Server und Client auf dem gleichen Computer

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Server und Client auf dem gleichen Computer

Beitrag von Joel »

Hi,
kann an eigentlich Server und Client auf dem Selben Computer laufen lassen?

Weil ich das ausprobiert hab mit dem beispiel unten und dass nicht funktioniert.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Server und Client auf dem gleichen Computer

Beitrag von Kiffi »

> kann an eigentlich Server und Client auf dem Selben Computer laufen
> lassen?

ja, kann man. Nimm das Server/Client - Beispiel aus der PB-Hilfe. Das
funktioniert auf ein- und demselben Rechner.

Grüße ... Kiffi
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

achso ich hab was vergessem zu erwähnen:

Wenn man nicht 127.0.0.1 sondern die internet ip angibt zb . 84.123.214.09


Also bei mir Funktionierts nicht.


Hier mal der Code vielleicht hab ich auch was falsch Programmiert.

Server:

Code: Alles auswählen

Port = 6832 

If InitNetwork() = 0 
  MessageBox_(Win,"Netzwerk Umgebung kann nicht vorbreitet werden!"+Chr(13)+"Ist dein Computer Internet Tauglich?","Warnung",#MB_OK | #MB_ICONERROR) 
  End 
EndIf 



;-------------Endlosschleife, bis was passiert----------------------- 

If CreateNetworkServer(1, Port , #PB_Network_TCP) 




Repeat 
      
    SEvent = NetworkServerEvent() 
  
    If SEvent 
    
      ClientID = EventClient() 
  
      Select SEvent 
      
      ;-------------case 1,2,3,4--------------------------------------- 
      
      
      
        Case 1 
          MessageRequester("Server", "Ein neuer Client meldet sich!", 0) 
  
  
        Case 2 
         MessageRequester("Server", "Daten oder Strings wurden gesendet", 0) 


       Case 3 
       DateiName$ = SaveFileRequester("Bitte Datei zum Speichern auswählen", StandardFile$, Pattern$, Pattern) 
       If DateiName$ 

        
        
        
        
       ReceiveNetworkFile(ClientID, DateiName$) 
        
       EndIf 
      
       Case 4 
       MessageRequester("Server", "Die verbindung zum Client wurde getrennt!", 0) 
        
        
        
        
        
        

        
        
        
        
        
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", "init error", 0) 
  End 
EndIf 



Port = 6832 
CreateNetworkServer(1, Port , #PB_Network_TCP) 
If OpenWindow(8, 200, 200, 400, 300, "Intel IP 1.0", #PB_Window_SystemMenu, 0) 
 If CreateGadgetList(WindowID(8)) 
  
  
  ConnectionID=OpenNetworkConnection("84.174.241.252", Port,#PB_Network_TCP) 
If ConnectionID 
   
    
    
   DateiName$ = OpenFileRequester("Bitte Datei zum Laden auswählen", StandardFile$, Pattern$, Pattern) 
  If DateiName$ 
  
 
SendNetworkFile(ConnectionID, DateiName$) 
  
Else 
  MessageRequester("PureBasic - Client", "Can't find the server (Is it launched ?).", 0) 
EndIf 
  EndIf 
  EndIf 
  EndIf 
End   
Zuletzt geändert von Joel am 17.06.2006 15:36, insgesamt 1-mal geändert.
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

ich hab den anderen thread nich gelesen, wo das schon besprochen wurde ("IP adresse herausfinden"), is da nix bei rausgekommen?
wenn du einen router hast, geht das nur mit port-forwarding. ansonsten blockt der die anfragen. zu deinem rechner kommt niemand einfach durch den router durch.
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

und wie programmier ich so einen Router port-forwarding und wie komm ich da durch? :(




Achso das alte thema war zu unübersichtlich
Zuletzt geändert von Joel am 17.06.2006 15:45, insgesamt 1-mal geändert.
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

port-forwarding is einfach eine konfigurationsache deines routers. wenn du anfragen aus dem internet mit deinem rechner empfangen willst, musst du deinen router sagen, er soll eine eingehende anfrage auf einem bestimmten port weiterleiten zu einem (deinem) rechner innerhalb des LAN.

wie diese konfiguration im einzelnen zu machen ist, hängt vom router ab. kannst ja mal die loop-back IP oder auch halt auch die externe IP des router im browser eingeben. mein router hat z.b. eine html-oberfläche. ich hab das portforwarding bei mir auch noch nich hingekriegt (hab so 'n doofen arcor/zyxel). da hast du dann vielleicht eine kathegorie "NAT".
kannst ja mal hier schaun, ob du eine erklärung für deinen router kriegst.
Zuletzt geändert von #NULL am 17.06.2006 15:52, insgesamt 1-mal geändert.
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

achso 1. wie sag ich dem das?

2. Wenn ich ein Chatprogramm Programmieren will das muss das ja irgentwie die Software erledigen. wie geht dass. Weil bei der Installation von ICQ mussste ich das auch nciht machen oder machen die das anders?
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

ich hab da auch nich so ein plan, ...
ich glaube z.b. icq nachrichten werden ja nicht direkt an deinen computer gesendet, sondern auf nem icq-server hinterlegt, und dein rechner schaut regelmässig nach ob was auf dem server is. die anfragen gehen also immer nur VON deinem rechner aus (?oder weiß es jemand besser?).

hinzukommt, dass du vermutlich eine dynamische IP hast, also eine die sich ändert, wenn der router sich mit deinem provider neu verbindet. wenn du selber server-stuff bereitstellen willst (z.b. ein chat-programm) müsstest du einem potentiellen client vorher immer erst irgendwie deine aktuelle IP geben. die alternative sind statische IP.
Zuletzt geändert von #NULL am 17.06.2006 15:59, insgesamt 1-mal geändert.
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Joel hat geschrieben:achso 1. wie sag ich dem das?

2. Wenn ich ein Chatprogramm Programmieren will das muss das ja irgentwie die Software erledigen. wie geht dass. Weil bei der Installation von ICQ mussste ich das auch nciht machen oder machen die das anders?
Deine ICQ-Installation ist ja auch kein Server. Du hast nur einen Client, der sich zum ICQ-Server verbindet. Wenn du einen ICQ-Ähnlichen Server bei dir betreiben willst, musst du die Ports auch in deinem Router freigeben. Das gild für jede Art von Server. Normalerweise lässt der Router so ziemlich alles raus, aber halt nicht rein um dich zu schützen.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag von PBZecke »

Hallo Joel!

Ich glaube, dass Dir auch durch das eröffnen eines zweiten Threads nicht
geholfen ist! :cry:

Vorschlag:
Da Du ja oft genug ICQ erwänhnst, benutze es doch einfach, und
programmiere ein Spiel, ein anderes kleines Tool, oder mach irgegend etwas
anderes was Spaß bringt...

Ist nicht böse gemeint, eher ein netter Vorschlag :)
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Antworten