Netzwerk bind_()
-
- Beiträge: 713
- Registriert: 22.03.2005 00:29
- Computerausstattung: Computer und Strom vorhanden
- Wohnort: LK Wolfenbüttel
Netzwerk bind_()
Hallo.
Es geht um folgenden Beitrag:
http://www.purebasic.fr/german/viewtopic.php?t=8089
Da ich das auch in Kürze nutzen wollte und das wohl mit dem PB-Netzwerkfunktionen nicht geht, wollte ich wissen, ob Fred das nicht noch in PB einbauen könnte. Da man "bind_()" nach dem erstellen des sockets, aber wohl vor "WSAAsyncSelect_()" genutzt werden muß, kann man es n icht selber nachträglicher unter nutzung der Socketnummer einbauen. Vielleicht könnte Fred einen zusatzlichen optionalen Parameter beim erstellen des Servers einbauen, dem man den/die IP's/Network-Interface angeben kann.
Da ich noch nicht an dieser Stelle der Programmierung angekommen bin, ist mir selbst noch nicht aufgefallen.
Gruß
Toshy
Es geht um folgenden Beitrag:
http://www.purebasic.fr/german/viewtopic.php?t=8089
Da ich das auch in Kürze nutzen wollte und das wohl mit dem PB-Netzwerkfunktionen nicht geht, wollte ich wissen, ob Fred das nicht noch in PB einbauen könnte. Da man "bind_()" nach dem erstellen des sockets, aber wohl vor "WSAAsyncSelect_()" genutzt werden muß, kann man es n icht selber nachträglicher unter nutzung der Socketnummer einbauen. Vielleicht könnte Fred einen zusatzlichen optionalen Parameter beim erstellen des Servers einbauen, dem man den/die IP's/Network-Interface angeben kann.
Da ich noch nicht an dieser Stelle der Programmierung angekommen bin, ist mir selbst noch nicht aufgefallen.
Gruß
Toshy
1. Win10
PB6.1
PB6.1
-
- Beiträge: 713
- Registriert: 22.03.2005 00:29
- Computerausstattung: Computer und Strom vorhanden
- Wohnort: LK Wolfenbüttel
Ich hatte auch erst an einen optionalen Parameter gedacht, aber das wird schwierig sein. Denn auch wenn ich mich mit der Socketprogrammierung kaum auskenne, so ist doch zu erkennen, das "bind_() nach dem Erstellen des Sockets und dem "aktivieren des Servers" eingefügt werden muß. "CreateNetworkServer" macht aber wohl beide dinge "auf einmal", ist für uns User halt einfacher und ich finde das auch ganz gut so. Dadurch läßt sich ein optionaler Parameter aber wohl n icht einfügen, es sei den die ganze CreateNetworkServerfunktion wird geändert.
Wenn es für den "Normaluser" dann irgendwann doch zu unverständlich / kompliziert wird, bringen die FUnktionen von PB nichts mehr und man kann gleich selbst die Sockets Programmieren.
Das war auf jedenfall meine Vermutung.
Toshy
Wenn es für den "Normaluser" dann irgendwann doch zu unverständlich / kompliziert wird, bringen die FUnktionen von PB nichts mehr und man kann gleich selbst die Sockets Programmieren.
Das war auf jedenfall meine Vermutung.
Toshy
1. Win10
PB6.1
PB6.1
Wieso soll es mit einem optionalen Parameter schwierig sein. Wenn CreateNetworkServer() aufgerufen wird, prüft der Compiler doch auch erst die Syntax, bevor das Zeugs in Asm umgewandelt wird. Und bei einem optionalen Parameter ist es ganz simpel: ist er gegeben, wird bei bind() für die Struktur sockaddr_in das entsprechende Interface gesetzt, sonst setze halt INADDR_ANY (wie jetzt). Fertig! Übrigens: bind() wird IMMER aufgerufen, um einen socket überhaupt an eine lokale IP zu binden - das macht auch PureBasic, nur halt eben an die lokale IP INADDR_ANY.
Aber mal ganz ehrlich: die Wahrscheinlichkeit, dass wir erhört werden, ist schwindend gering.
Aber mal ganz ehrlich: die Wahrscheinlichkeit, dass wir erhört werden, ist schwindend gering.
-
- Beiträge: 713
- Registriert: 22.03.2005 00:29
- Computerausstattung: Computer und Strom vorhanden
- Wohnort: LK Wolfenbüttel
Also das wir erhört werden ist gut möglich. Fred baut gerne sinnvolle Dinge ein und ist für vieles offen.
Aber wenn Bind eh IMMER verwendet wird, dann dürfte eine Zusatzfunktion erst recht nicht gehen. Denn auf die Reihenfolge kommt es ja an.
CreateNetworkServer ruft intern ja mehrere Funktionene auf unteranderem erstellt es die Socketnummer und wie du sagst "bind" und dann dieses "..sync..." (was den server dann im grunde erstellt). Eine PB-Funktion macht also mehrere.
Da bind() aber nach der socketerstellung und vor dem ..sync.. auftauchen muß, Create.. dies aber in einem Rutsch durchmacht dürfte es nicht gehen. Nur mit einem optionalen Parameterflag halt.
Das dem so ist vermute ich unter anderem aus dem oben angegebenden Beitrag, denn ansonsten könnte man das ja wirklich einfach mit aufruf der APi nachträglich machen und man bräuchte dann überhaupt keine PB-Funktion dazu.
Aber wenn Bind eh IMMER verwendet wird, dann dürfte eine Zusatzfunktion erst recht nicht gehen. Denn auf die Reihenfolge kommt es ja an.
CreateNetworkServer ruft intern ja mehrere Funktionene auf unteranderem erstellt es die Socketnummer und wie du sagst "bind" und dann dieses "..sync..." (was den server dann im grunde erstellt). Eine PB-Funktion macht also mehrere.
Da bind() aber nach der socketerstellung und vor dem ..sync.. auftauchen muß, Create.. dies aber in einem Rutsch durchmacht dürfte es nicht gehen. Nur mit einem optionalen Parameterflag halt.
Das dem so ist vermute ich unter anderem aus dem oben angegebenden Beitrag, denn ansonsten könnte man das ja wirklich einfach mit aufruf der APi nachträglich machen und man bräuchte dann überhaupt keine PB-Funktion dazu.
1. Win10
PB6.1
PB6.1
- HeX0R
- Beiträge: 2959
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 - Kontaktdaten:
Das ist doch exakt, das was real gesagt hat , da steht nix von ZusatzfunktionToshy hat geschrieben:bla bla bla bla
Nur mit einem optionalen Parameterflag halt.
bla bla bla bla.
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}
-
- Beiträge: 713
- Registriert: 22.03.2005 00:29
- Computerausstattung: Computer und Strom vorhanden
- Wohnort: LK Wolfenbüttel
Hallo.
Da muß ich mich wirklich entschuldigen. Das war mein Fehler. Habe wohl gerade zu viel auf einmal gemacht und aufgefaßt das er meinte das eine "optionale (zusätzliche) Funktion" eingebaut wird. Habe war nicht bemerkt, das er mir zustimmt.
hihi. Muß ich mal wieder zugeben, hier hat der Toshy geirrt.
Aber wenigstens bin ich mir nicht zu schade da zuzugeben
real, tut mir leid.
Tja, weiß ich nicht wie ich darauf gekommen bin. Hast es ja ganz deutlich geschrieben. Muß ja wirklich was durcheinander gebracht haben.
Na dann wollten wir mal weiter schauen was da nicht so so an Meinunge dazukommt und wir Fred überzeugen können
Da muß ich mich wirklich entschuldigen. Das war mein Fehler. Habe wohl gerade zu viel auf einmal gemacht und aufgefaßt das er meinte das eine "optionale (zusätzliche) Funktion" eingebaut wird. Habe war nicht bemerkt, das er mir zustimmt.
hihi. Muß ich mal wieder zugeben, hier hat der Toshy geirrt.
Aber wenigstens bin ich mir nicht zu schade da zuzugeben
real, tut mir leid.
Tja, weiß ich nicht wie ich darauf gekommen bin. Hast es ja ganz deutlich geschrieben. Muß ja wirklich was durcheinander gebracht haben.
Na dann wollten wir mal weiter schauen was da nicht so so an Meinunge dazukommt und wir Fred überzeugen können
1. Win10
PB6.1
PB6.1
- Falko
- Admin
- Beiträge: 3531
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0 - Kontaktdaten:
>>Also das wir erhört werden ist gut möglich. Fred baut gerne sinnvolle Dinge ein und ist für vieles offen.
Wer weiß, vielleicht liest Freak dieses irgendwann einmal in diesem Jahr
Bleibt euch also nichts anderes übrig, dieses hier selbst in's
englische Forum zu posten, damit Fred das auch mitbekommt.
Gruß Falko
Wer weiß, vielleicht liest Freak dieses irgendwann einmal in diesem Jahr
Bleibt euch also nichts anderes übrig, dieses hier selbst in's
englische Forum zu posten, damit Fred das auch mitbekommt.
Gruß Falko