Seite 4 von 12

Verfasst: 06.05.2006 17:43
von Joel
Wie kann man eigentlich den Port von einem Computer herausfinden.
Weil ich weiß nicht welchen port meinen Computer gerade benutzt. :mrgreen:

Verfasst: 06.05.2006 17:55
von kiki
Stimmt, dass ist eine Schwirige Frage. :D :mrgreen: :D

Verfasst: 06.05.2006 18:05
von Joel
Was hab ich den jetzt daran wieder Falsch gemacht?

Code: Alles auswählen

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

Port = 0705
Buffer = AllocateMemory(1000000)

If CreateNetworkServer(0, 0705 , #PB_Network_UDP)
EndIf  

;84.174.225.117

  ;MessageRequester("PureBasic - Server", "Server created (Port "+Str(Port)+").", 0)
  If OpenNetworkConnection("84.174.225.117", 0705) = 0
  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    
 ;EndIf

Verfasst: 06.05.2006 18:35
von DarkDragon
Code-Tags bitte benutzen oder die Formatierung ist dann so scheiße, dass wir kein bock haben deinen Code zu überprüfen, danke.

Warum hast du überhaupt das Repeat und Until auskommentiert? Das muss doch rein, sonst ist das Programm doch gleich zuende.

Verfasst: 06.05.2006 18:42
von MVXA
> Buffer = AllocateMemory(1000000)
Wozu brauchst du 1 MB Speicher? Du brauchst in der Regel nicht mehr
als 3-4 Kilobyte.

Außerdem, warum hast du das Repeat ausgeklammert? So bleibt der
Server nicht im Speicher, sondern beendet sich nach einem Durchlauf
sofort.

Verfasst: 06.05.2006 18:47
von Joel
Ahhhhhh :lol: :mrgreen: :lol:
Jetzt weiß ich was ihr mit Code Tags meintet. Und ich habe gedacht das wäre ein Befehl. Ich hab schon in der Hilfe datei verzweifelt danach gesucht.

Der Fremde Computer muss meinen Port wissen damit ich dem Computer seine IP weiß. nur wie weiß man welchen port man hat.

Hier der Code wo ich festgestellt habe dass der Fremde Computer meinen Port wissen muss.

Code: Alles auswählen

CreateNetworkServer(0, 0705 [, Modus])


If OpenNetworkConnection("87.192.850.440", 0705, #PB_Network_TCP) = 0
  MessageRequester("PureBasic - Server", "Server created (Port "+Str(Port)+").", 0)
  End
   EndIf 
[/code]

Verfasst: 06.05.2006 22:28
von benpicco
Joel hat geschrieben: Der Fremde Computer muss meinen Port wissen damit ich dem Computer seine IP weiß. nur wie weiß man welchen port man hat.
Du hast nicht nur einen Port, du hast 65000! Such dir also einen aus :wink: Du musst halt nur schauen, das kein anderes Programm den Port schon benutzt (Schau mal in der Hilfe unter "Port-Nummern"). Außerdem wird empfohlen, Ports zwischen 6000 und 7000 zu wählen. Server und Client müssen den Port natürlich kennen, also schreibe ihn in den code oder in eine config datei

Verfasst: 07.05.2006 08:51
von Joel
Ja stimmt schon aber jetzt brauch ich noch meine IP Adresse. Man kann die ja net mit makeIPAdress()erstellen. Wie kann ich die denn dann ermitteln?

Hier nochmal der Code wo meine IP fehlt

Code: Alles auswählen

InitNetwork()
CreateNetworkServer(0, 0705 , #PB_Network_TCP) 

;Wie heißt meine IP Adrese
If OpenNetworkConnection("....", 0705, #PB_Network_TCP) = 0 
  MessageRequester("Keine verbindung", "Es kann keine verbindung hergesellt werden", 0) 
  End 
   EndIf 

Verfasst: 07.05.2006 09:50
von roherter

Code: Alles auswählen

InitNetwork()
ExamineIPAddresses() 
While ergebnis=0
Ergebnis = NextIPAddress()
erg$=IPString(ergebnis)
Debug erg$
Wend 
:freak:

Verfasst: 07.05.2006 10:09
von Joel
Geht immer nochn net. ich hab die IP eingegeben aber der kann immer noch keine verbindung herstellen.

Code: Alles auswählen

InitNetwork()
CreateNetworkServer(0, 0705 , #PB_Network_TCP) 
ExamineIPAddresses() 
While ergebnis=0 
Ergebnis = NextIPAddress() 
erg$=IPString(ergebnis) 
Debug erg$ 
Wend 



;Wie heißt meine IP Adrese
If OpenNetworkConnection("192.186.2.25", 0705, #PB_Network_TCP) = 0 
  MessageRequester("Keine verbindung", "Es kann keine verbindung hergesellt werden", 0) 
  End 
   EndIf