Socket-Server

Hier könnt ihr alle Fragen zu SpiderBasic austauschen.
stevie1401
Beiträge: 659
Registriert: 19.10.2014 15:51
Kontaktdaten:

Socket-Server

Beitrag von stevie1401 »

Wie komme ich mit Spiderbasic auf einen Socket-Server?
Würde folgendes Funktionieren?

Code: Alles auswählen

  Port = 51401
  ConnectionID = OpenNetworkConnection(ServerID, Port,#PB_Network_TCP)
  Laenge = ReceiveNetworkData(ConnectionID, *MemoryID, Puffergroesse)
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
stevie1401
Beiträge: 659
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Socket-Server

Beitrag von stevie1401 »

Gibt es inzwischen eine Möglichkeit sich mit Spider-Basic mit einen Socket-Server zu verbinden?
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Socket-Server

Beitrag von Kiffi »

stevie1401 hat geschrieben:Gibt es inzwischen eine Möglichkeit sich mit Spider-Basic mit einen Socket-Server zu verbinden?
das geht meines Erachtens nur über den Umweg, dass Du Dir mit PureBasic ein CGI erstellst, welches Du dann in SpiderBasic mit HTTPRequest() aufrufst.

Grüße ... Peter

P.S.: Bis sich SpiderBasic etabliert hat, dürfte die Chance auf eine Antwort zu Fragen bzgl. SpiderBasic im entsprechenden Forum größer sein: http://forums.spiderbasic.com/
Hygge
stevie1401
Beiträge: 659
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Socket-Server

Beitrag von stevie1401 »

Ich weiss leider nicht was ein CGI ist.
Kannst du mir vielleicht ein Beispiel geben?
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
mhs
Beiträge: 224
Registriert: 11.01.2009 16:30
Wohnort: Graben
Kontaktdaten:

Re: Socket-Server

Beitrag von mhs »

CGI ist eine Art eines Gateways, die es dir ermöglicht über einen Webserver z.B. ein PB Programm auszuführen und Daten zwischen Webserver und Programm auszutauschen. Dadurch würdest du Spiderbasic für die Interaktion auf dem Client nutzen und PB im Hintergrund auf dem Webserver für die Socketkommunikation.

Entsprechende Beispiele müssten eigentlich hier oder im SpiderBasic Forum unter dem Begriff "CGI" zu finden sein.
Zuletzt geändert von mhs am 02.05.2016 08:41, insgesamt 1-mal geändert.
Michael Hack

Michael Hack Software :: Softwareentwicklung | Webentwicklung | IT-Dienstleistungen
www.michaelhacksoftware.de :: www.mh-s.de :: www.michael-hack.de
stevie1401
Beiträge: 659
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Socket-Server

Beitrag von stevie1401 »

Weder der SB-Editor, noch die Hife kennen das Wort CGI, es gibt auch kein Beispiel in den Examples. Im Forum kann ich auch nichts darüber finden. Das Wort lese ich zum erstenmal.
Ein Beispiel wäre schön.
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
mhs
Beiträge: 224
Registriert: 11.01.2009 16:30
Wohnort: Graben
Kontaktdaten:

Re: Socket-Server

Beitrag von mhs »

Michael Hack

Michael Hack Software :: Softwareentwicklung | Webentwicklung | IT-Dienstleistungen
www.michaelhacksoftware.de :: www.mh-s.de :: www.michael-hack.de
stevie1401
Beiträge: 659
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Socket-Server

Beitrag von stevie1401 »

Ok, vielen dank.
Leider verstehe ich nur Bahnhof.
Ich möchte entweder mit Spiderbasic auf meinen Socket-Server oder mit Spiderbasic erst einen Web-Server erstellen und dann mit Spiderbasic einen Client-Server-Dialog aufbauen.
Welche Funktion hat Purebasic denn nun dabei?

Ich wäre sehr dankbar über ein Server-Client-BEISPIEL, nur so kann ich verstehen.
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
stevie1401
Beiträge: 659
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Socket-Server

Beitrag von stevie1401 »

Folgendes Beispiel habe ich mit Purebasic 5.42 compiliert.
Dann habe ich auf meiner Homepage einen Ordner "cgi-bin" erstellt und die compilierte Datei dort hinein kopiert.

Was soll ich nun genau aufrufen und was bewirkt dieses Programm?
Ist das ein Server oder ein Client?
Verbindet dieses Programm sich - wie auch immer - mit meinem Socket-Server und wenn ja, was nützt mir das?

Als was muss ich das speichern? Als HTML? Z.B. Index.html?
Rufe ich doko-lounge.de/cgi-bin auf, passiert nichts.


Code: Alles auswählen


;
; ------------------------------------------------------------
;
;   PureBasic - CGI example file
;
;    (c) Fantaisie Software
;
; ------------------------------------------------------------
;

; To test it, you will need to compile it as an standalone executable and put it in the /cgi-bin/ folder of your
; webserver.
;

If Not InitCGI() Or Not ReadCGI()
  End
EndIf

WriteCGIHeader(#PB_CGI_HeaderContentType, "text/html", #PB_CGI_LastHeader) ; Write the headers to inform the browser of the content format

WriteCGIString("<html><title>PureBasic CGI</title><body>")  

Procedure WriteCGIConstant(Constant$)
  WriteCGIString(Constant$ + ": " + CGIVariable(Constant$)+"<br>")
EndProcedure

WriteCGIConstant(#PB_CGI_AuthType)
WriteCGIConstant(#PB_CGI_ContentLength)
WriteCGIConstant(#PB_CGI_HeaderContentType)
WriteCGIConstant(#PB_CGI_DocumentRoot)
WriteCGIConstant(#PB_CGI_GatewayInterface)
WriteCGIConstant(#PB_CGI_PathInfo)
WriteCGIConstant(#PB_CGI_PathTranslated)
WriteCGIConstant(#PB_CGI_QueryString)
WriteCGIConstant(#PB_CGI_RemoteAddr)
WriteCGIConstant(#PB_CGI_RemoteHost)
WriteCGIConstant(#PB_CGI_RemoteIdent)
WriteCGIConstant(#PB_CGI_RemotePort)
WriteCGIConstant(#PB_CGI_RemoteUser)
WriteCGIConstant(#PB_CGI_RequestURI)
WriteCGIConstant(#PB_CGI_RequestMethod)
WriteCGIConstant(#PB_CGI_ScriptName)
WriteCGIConstant(#PB_CGI_ScriptFilename)
WriteCGIConstant(#PB_CGI_ServerAdmin)
WriteCGIConstant(#PB_CGI_ServerName)
WriteCGIConstant(#PB_CGI_ServerPort)
WriteCGIConstant(#PB_CGI_ServerProtocol)
WriteCGIConstant(#PB_CGI_ServerSignature)
WriteCGIConstant(#PB_CGI_ServerSoftware)
WriteCGIConstant(#PB_CGI_HttpAccept)
WriteCGIConstant(#PB_CGI_HttpAcceptEncoding)
WriteCGIConstant(#PB_CGI_HttpAcceptLanguage)
WriteCGIConstant(#PB_CGI_HttpCookie)
WriteCGIConstant(#PB_CGI_HttpForwarded)
WriteCGIConstant(#PB_CGI_HttpHost)
WriteCGIConstant(#PB_CGI_HttpPragma)
WriteCGIConstant(#PB_CGI_HttpReferer)
WriteCGIConstant(#PB_CGI_HttpUserAgent)

WriteCGIString("</body></html>")



Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Socket-Server

Beitrag von Kiffi »

stevie1401 hat geschrieben:Folgendes Beispiel habe ich mit Purebasic 5.42 compiliert.
Dann habe ich auf meiner Homepage einen Ordner "cgi-bin" erstellt und die compilierte Datei dort hinein kopiert.

Was soll ich nun genau aufrufen und was bewirkt dieses Programm?
Der Aufruf lautet: doko-lounge.de/cgi-bin/[NameDeinerExe]

Allerdings muss Dein WebServer (welchen hast Du? Apache? IIS?, ...?) auch wissen, was geschehen soll, wenn dieser Aufruf reinkommt.

Wenn Du dort nicht hinterlegt hast, dass es sich um eine ausführbare Datei handelt und dass deren Output an den Aufrufer gesendet werden soll, dann wird Dir lediglich ein Download der Exe angeboten.

Wenn der WebServer richtig konfiguriert ist, dann wird die Exe ausgeführt und die Informationen, die Du mit dem CGI-Beispielcode (WriteCGIConstant()) ausgibst, an den Aufrufer (in Deinem Fall der Browser) gesendet.

Grüße ... Peter
Hygge
Antworten