Je cherche l'équivalent de getdtablesize() sous windows ou un define si jamais il n'est pas possible de changer cette valeur sur windows.
Attention, tu vas te faire tirer dessus jeune fou ;-), ce n'est pas du C standard !!
Je ne sais pas si il y une fonction Win32 correspondante (car l'API gère des HANDLE, type aussi utilisé pour pleins d'autres choses qui ne sont pas des fichiers) , par contre, ton implémentation C, si elle est conforme, fournit avec la bibliothèque une macro qui s'appelle FOPEN_MAX, accessible en incluant l'en-tête <stdio.h>. Elle correspond au nombre minimal garanti de fichiers (FILE *) que l'implémentation peut ouvrir simultanément.
SInon, il ya la fonction getrlimit() (qui est POSIX) avec RLIMIT_NOFILE, mais il faut pour ça disposer de WSU (Windows Services for Unix).
Je cherche l'équivalent de getdtablesize() sous windows ou un
define si jamais il n'est pas possible de changer cette valeur
sur windows.
Attention, tu vas te faire tirer dessus jeune fou ;-), ce n'est pas du
C standard !!
Je ne sais pas si il y une fonction Win32 correspondante (car l'API
gère des HANDLE, type aussi utilisé pour pleins d'autres choses qui
ne sont pas des fichiers) , par contre, ton implémentation C, si elle
est conforme, fournit avec la bibliothèque une macro qui s'appelle
FOPEN_MAX, accessible en incluant l'en-tête <stdio.h>. Elle correspond
au nombre minimal garanti de fichiers (FILE *) que l'implémentation
peut ouvrir simultanément.
SInon, il ya la fonction getrlimit() (qui est POSIX) avec
RLIMIT_NOFILE, mais il faut pour ça disposer de WSU (Windows Services
for Unix).
Je cherche l'équivalent de getdtablesize() sous windows ou un define si jamais il n'est pas possible de changer cette valeur sur windows.
Attention, tu vas te faire tirer dessus jeune fou ;-), ce n'est pas du C standard !!
Je ne sais pas si il y une fonction Win32 correspondante (car l'API gère des HANDLE, type aussi utilisé pour pleins d'autres choses qui ne sont pas des fichiers) , par contre, ton implémentation C, si elle est conforme, fournit avec la bibliothèque une macro qui s'appelle FOPEN_MAX, accessible en incluant l'en-tête <stdio.h>. Elle correspond au nombre minimal garanti de fichiers (FILE *) que l'implémentation peut ouvrir simultanément.
SInon, il ya la fonction getrlimit() (qui est POSIX) avec RLIMIT_NOFILE, mais il faut pour ça disposer de WSU (Windows Services for Unix).
RLIMIT_NOFILE, mais il faut pour ça disposer de WSU (Windows Services for Unix).
ou de cygwin, ou encore d'aut' chose, pourvu que ce soit POSIX, bien entendu...
[...]
Astar0th
Astar0th wrote:
Salut,
Bonjour,
Je cherche l'équivalent de getdtablesize() sous windows ou un define si jamais il n'est pas possible de changer cette valeur sur windows.
Attention, tu vas te faire tirer dessus jeune fou ;-), ce n'est pas du C standard !!
Dsl, c'est vrai que je me suis tirer un peu les cheuveux pour trouver le bon groupe. Mais la question concernait un equivalent _windows_ d'une fonction _unix_ _c_ que j'utilise dans un projet _c++_ :s. D'ou ma difficulté, merci a ceux qui m'ont epargner :)
Je ne sais pas si il y une fonction Win32 correspondante (car l'API gère des HANDLE, type aussi utilisé pour pleins d'autres choses qui ne sont pas des fichiers) , par contre, ton implémentation C, si elle est conforme, fournit avec la bibliothèque une macro qui s'appelle FOPEN_MAX, accessible en incluant l'en-tête <stdio.h>. Elle correspond au nombre minimal garanti de fichiers (FILE *) que l'implémentation peut ouvrir simultanément.
Hum, ouais, le truc c'est qu'elle est egale à 20, et je souhaite utiliser ce concept pour pré-allouer mes tables de clients. Et bon un serveur qui gere 20 clients...
SInon, il ya la fonction getrlimit() (qui est POSIX) avec RLIMIT_NOFILE, mais il faut pour ça disposer de WSU (Windows Services for Unix).
Choses, qui bien sur, ne me sont pas authorisées :-p D'apres ce que j'ai compris il n'y aurait pas de limite précises. Ca sera plus clair avec quelques tests.
Merci :-)
Asta.
Astar0th wrote:
Salut,
Bonjour,
Je cherche l'équivalent de getdtablesize() sous windows ou un
define si jamais il n'est pas possible de changer cette valeur
sur windows.
Attention, tu vas te faire tirer dessus jeune fou ;-), ce n'est pas du
C standard !!
Dsl, c'est vrai que je me suis tirer un peu les cheuveux pour trouver
le bon groupe. Mais la question concernait un equivalent _windows_
d'une fonction _unix_ _c_ que j'utilise dans un projet _c++_ :s.
D'ou ma difficulté, merci a ceux qui m'ont epargner :)
Je ne sais pas si il y une fonction Win32 correspondante (car l'API
gère des HANDLE, type aussi utilisé pour pleins d'autres choses qui
ne sont pas des fichiers) , par contre, ton implémentation C, si elle
est conforme, fournit avec la bibliothèque une macro qui s'appelle
FOPEN_MAX, accessible en incluant l'en-tête <stdio.h>. Elle correspond
au nombre minimal garanti de fichiers (FILE *) que l'implémentation
peut ouvrir simultanément.
Hum, ouais, le truc c'est qu'elle est egale à 20, et je souhaite
utiliser ce concept pour pré-allouer mes tables de clients. Et bon
un serveur qui gere 20 clients...
SInon, il ya la fonction getrlimit() (qui est POSIX) avec
RLIMIT_NOFILE, mais il faut pour ça disposer de WSU (Windows Services
for Unix).
Choses, qui bien sur, ne me sont pas authorisées :-p
D'apres ce que j'ai compris il n'y aurait pas de limite précises.
Ca sera plus clair avec quelques tests.
Je cherche l'équivalent de getdtablesize() sous windows ou un define si jamais il n'est pas possible de changer cette valeur sur windows.
Attention, tu vas te faire tirer dessus jeune fou ;-), ce n'est pas du C standard !!
Dsl, c'est vrai que je me suis tirer un peu les cheuveux pour trouver le bon groupe. Mais la question concernait un equivalent _windows_ d'une fonction _unix_ _c_ que j'utilise dans un projet _c++_ :s. D'ou ma difficulté, merci a ceux qui m'ont epargner :)
Je ne sais pas si il y une fonction Win32 correspondante (car l'API gère des HANDLE, type aussi utilisé pour pleins d'autres choses qui ne sont pas des fichiers) , par contre, ton implémentation C, si elle est conforme, fournit avec la bibliothèque une macro qui s'appelle FOPEN_MAX, accessible en incluant l'en-tête <stdio.h>. Elle correspond au nombre minimal garanti de fichiers (FILE *) que l'implémentation peut ouvrir simultanément.
Hum, ouais, le truc c'est qu'elle est egale à 20, et je souhaite utiliser ce concept pour pré-allouer mes tables de clients. Et bon un serveur qui gere 20 clients...
SInon, il ya la fonction getrlimit() (qui est POSIX) avec RLIMIT_NOFILE, mais il faut pour ça disposer de WSU (Windows Services for Unix).
Choses, qui bien sur, ne me sont pas authorisées :-p D'apres ce que j'ai compris il n'y aurait pas de limite précises. Ca sera plus clair avec quelques tests.
Merci :-)
Asta.
Harpo
Astar0th wrote:
Salut,
Je cherche l'équivalent de getdtablesize() sous windows ou un define si jamais il n'est pas possible de changer cette valeur sur windows.
getdtablesize() existe où ? Et keskifè ?
Astar0th wrote:
Salut,
Je cherche l'équivalent de getdtablesize() sous windows ou un
define si jamais il n'est pas possible de changer cette valeur
sur windows.
Je cherche l'équivalent de getdtablesize() sous windows ou un define si jamais il n'est pas possible de changer cette valeur sur windows.
getdtablesize() existe où ? Et keskifè ?
Astar0th
Astar0th wrote:
Salut,
Je cherche l'équivalent de getdtablesize() sous windows ou un define si jamais il n'est pas possible de changer cette valeur sur windows.
getdtablesize() existe où ? Et keskifè ?
Ca permet de récupérer la taille de la table des descripteurs de fichier sous unix. Cette valeur peut etre set-er par le root qui peut décider par exemple que tout les processus lancer par l'utilisateur X ne peuvent pas ouvrir plus de Y descriptor.
Asta.
Astar0th wrote:
Salut,
Je cherche l'équivalent de getdtablesize() sous windows ou un
define si jamais il n'est pas possible de changer cette valeur
sur windows.
getdtablesize() existe où ? Et keskifè ?
Ca permet de récupérer la taille de la table des descripteurs
de fichier sous unix. Cette valeur peut etre set-er par le root
qui peut décider par exemple que tout les processus lancer par
l'utilisateur X ne peuvent pas ouvrir plus de Y descriptor.
Je cherche l'équivalent de getdtablesize() sous windows ou un define si jamais il n'est pas possible de changer cette valeur sur windows.
getdtablesize() existe où ? Et keskifè ?
Ca permet de récupérer la taille de la table des descripteurs de fichier sous unix. Cette valeur peut etre set-er par le root qui peut décider par exemple que tout les processus lancer par l'utilisateur X ne peuvent pas ouvrir plus de Y descriptor.
Asta.
Harpo
Astar0th wrote:
Astar0th wrote:
Salut,
Je cherche l'équivalent de getdtablesize() sous windows ou un define si jamais il n'est pas possible de changer cette valeur sur windows.
getdtablesize() existe où ? Et keskifè ?
Ca permet de récupérer la taille de la table des descripteurs de fichier sous unix. Cette valeur peut etre set-er par le root qui peut décider par exemple que tout les processus lancer par l'utilisateur X ne peuvent pas ouvrir plus de Y descriptor.
Ok, c'est ce qu'on peut généralement paramêtrer par le built-in ulimit du shell. Je croyais que c'était encore une diablerie de windows. J'avoue mon incompétence.
Astar0th wrote:
Astar0th wrote:
Salut,
Je cherche l'équivalent de getdtablesize() sous windows ou un
define si jamais il n'est pas possible de changer cette valeur
sur windows.
getdtablesize() existe où ? Et keskifè ?
Ca permet de récupérer la taille de la table des descripteurs
de fichier sous unix. Cette valeur peut etre set-er par le root
qui peut décider par exemple que tout les processus lancer par
l'utilisateur X ne peuvent pas ouvrir plus de Y descriptor.
Ok, c'est ce qu'on peut généralement paramêtrer par le built-in ulimit
du shell.
Je croyais que c'était encore une diablerie de windows.
J'avoue mon incompétence.
Je cherche l'équivalent de getdtablesize() sous windows ou un define si jamais il n'est pas possible de changer cette valeur sur windows.
getdtablesize() existe où ? Et keskifè ?
Ca permet de récupérer la taille de la table des descripteurs de fichier sous unix. Cette valeur peut etre set-er par le root qui peut décider par exemple que tout les processus lancer par l'utilisateur X ne peuvent pas ouvrir plus de Y descriptor.
Ok, c'est ce qu'on peut généralement paramêtrer par le built-in ulimit du shell. Je croyais que c'était encore une diablerie de windows. J'avoue mon incompétence.
Antoine Leca
In news:4395adb1$0$29190$, Astar0th va escriure:
Je cherche l'équivalent de getdtablesize() sous windows ou un define si jamais il n'est pas possible de changer cette valeur sur windows.
Quel que soit l'équivalent direct, tu as tout intérêt à isoler cette dépendance système dans un coin et à fournir une version Windows correspondante, avec au moins un niveau d'abstraction en plus.
Par exemple, pour un exemple similaire, avec Unix les sockets sont alloués comme des descripteurs de fichiers annodins, mais avec Windows ce sont des entités à part... Donc si tu te casses la tête à fournir l'équivalent Windows de contrôle sur la taille de la table des descripteurs de fichiers, et qu'ensuite un des utilisateurs de ton code utilise cela pour avoir plus de sockets, cela aura un effet sur Unix, mais strictement aucun avec Windows...
Antoine
In news:4395adb1$0$29190$8fcfb975@news.wanadoo.fr, Astar0th va escriure:
Je cherche l'équivalent de getdtablesize() sous windows ou un
define si jamais il n'est pas possible de changer cette valeur
sur windows.
Quel que soit l'équivalent direct, tu as tout intérêt à isoler cette
dépendance système dans un coin et à fournir une version Windows
correspondante, avec au moins un niveau d'abstraction en plus.
Par exemple, pour un exemple similaire, avec Unix les sockets sont alloués
comme des descripteurs de fichiers annodins, mais avec Windows ce sont des
entités à part... Donc si tu te casses la tête à fournir l'équivalent
Windows de contrôle sur la taille de la table des descripteurs de fichiers,
et qu'ensuite un des utilisateurs de ton code utilise cela pour avoir plus
de sockets, cela aura un effet sur Unix, mais strictement aucun avec
Windows...
Je cherche l'équivalent de getdtablesize() sous windows ou un define si jamais il n'est pas possible de changer cette valeur sur windows.
Quel que soit l'équivalent direct, tu as tout intérêt à isoler cette dépendance système dans un coin et à fournir une version Windows correspondante, avec au moins un niveau d'abstraction en plus.
Par exemple, pour un exemple similaire, avec Unix les sockets sont alloués comme des descripteurs de fichiers annodins, mais avec Windows ce sont des entités à part... Donc si tu te casses la tête à fournir l'équivalent Windows de contrôle sur la taille de la table des descripteurs de fichiers, et qu'ensuite un des utilisateurs de ton code utilise cela pour avoir plus de sockets, cela aura un effet sur Unix, mais strictement aucun avec Windows...
Antoine
Astar0th
In news:4395adb1$0$29190$, Astar0th va escriure:
Je cherche l'équivalent de getdtablesize() sous windows ou un define si jamais il n'est pas possible de changer cette valeur sur windows.
Quel que soit l'équivalent direct, tu as tout intérêt à isoler cette dépendance système dans un coin et à fournir une version Windows correspondante, avec au moins un niveau d'abstraction en plus.
En fait, je veux juste savoir si il y'a une quantité maximum de SOCKET que peu ouvrir un processus windows. Cette valeur sous unix peu varier selon les besoins du root de la bécane, donc cette fonction est bien pratique. Mais si sous windows, il n'y a pas de limites, ou si la taille est fixe (??!!) ca va effectivement pas me servire a grand chose.
Par exemple, pour un exemple similaire, avec Unix les sockets sont alloués comme des descripteurs de fichiers annodins, mais avec Windows ce sont des entités à part... Donc si tu te casses la tête à fournir l'équivalent Windows de contrôle sur la taille de la table des descripteurs de fichiers, et qu'ensuite un des utilisateurs de ton code utilise cela pour avoir plus de sockets, cela aura un effet sur Unix, mais strictement aucun avec Windows...
En fait c'est juste pour faire de la pré-allocation, donc je vais pas bidouiller cette valeur.
Merci :)
Asta.
In news:4395adb1$0$29190$8fcfb975@news.wanadoo.fr, Astar0th va escriure:
Je cherche l'équivalent de getdtablesize() sous windows ou un
define si jamais il n'est pas possible de changer cette valeur
sur windows.
Quel que soit l'équivalent direct, tu as tout intérêt à isoler cette
dépendance système dans un coin et à fournir une version Windows
correspondante, avec au moins un niveau d'abstraction en plus.
En fait, je veux juste savoir si il y'a une quantité maximum de SOCKET
que peu ouvrir un processus windows. Cette valeur sous unix peu varier
selon les besoins du root de la bécane, donc cette fonction est bien
pratique. Mais si sous windows, il n'y a pas de limites, ou si la
taille est fixe (??!!) ca va effectivement pas me servire a grand chose.
Par exemple, pour un exemple similaire, avec Unix les sockets sont alloués
comme des descripteurs de fichiers annodins, mais avec Windows ce sont des
entités à part... Donc si tu te casses la tête à fournir l'équivalent
Windows de contrôle sur la taille de la table des descripteurs de fichiers,
et qu'ensuite un des utilisateurs de ton code utilise cela pour avoir plus
de sockets, cela aura un effet sur Unix, mais strictement aucun avec
Windows...
En fait c'est juste pour faire de la pré-allocation, donc je vais pas
bidouiller cette valeur.
Je cherche l'équivalent de getdtablesize() sous windows ou un define si jamais il n'est pas possible de changer cette valeur sur windows.
Quel que soit l'équivalent direct, tu as tout intérêt à isoler cette dépendance système dans un coin et à fournir une version Windows correspondante, avec au moins un niveau d'abstraction en plus.
En fait, je veux juste savoir si il y'a une quantité maximum de SOCKET que peu ouvrir un processus windows. Cette valeur sous unix peu varier selon les besoins du root de la bécane, donc cette fonction est bien pratique. Mais si sous windows, il n'y a pas de limites, ou si la taille est fixe (??!!) ca va effectivement pas me servire a grand chose.
Par exemple, pour un exemple similaire, avec Unix les sockets sont alloués comme des descripteurs de fichiers annodins, mais avec Windows ce sont des entités à part... Donc si tu te casses la tête à fournir l'équivalent Windows de contrôle sur la taille de la table des descripteurs de fichiers, et qu'ensuite un des utilisateurs de ton code utilise cela pour avoir plus de sockets, cela aura un effet sur Unix, mais strictement aucun avec Windows...
En fait c'est juste pour faire de la pré-allocation, donc je vais pas bidouiller cette valeur.
Merci :)
Asta.
Antoine Leca
In news:439758b5$0$29219$, Astar0th typed:
En fait, je veux juste savoir si il y'a une quantité maximum de SOCKET que peu ouvrir un processus windows.
Nous y voilà ! Autrement dit, une question complètement spécifique à Windows, et qui n'a absolument rien à voir avec le langage C.
Si tu ne le savais pas, et si tu ne l'avais pas encore compris avec _WSAStartup(), la programmation des sockets en Windows n'est pas identique à ce qui se passe sur un système Unix classique.
En fait c'est juste pour faire de la pré-allocation, donc je vais pas bidouiller cette valeur.
Si c'est pour faire de la pré-allocation, le nombre maximal de sockets est disponible sans aucune difficulté (wsaData->iMaxSockets). En posant la question dans un forum Windows, tu aurais déjà la réponse. [autre remarque moins amène effacée.]
Antoine
In news:439758b5$0$29219$8fcfb975@news.wanadoo.fr,
Astar0th typed:
En fait, je veux juste savoir si il y'a une quantité maximum de SOCKET
que peu ouvrir un processus windows.
Nous y voilà ! Autrement dit, une question complètement spécifique à
Windows, et qui n'a absolument rien à voir avec le langage C.
Si tu ne le savais pas, et si tu ne l'avais pas encore compris avec
_WSAStartup(), la programmation des sockets en Windows n'est pas identique à
ce qui se passe sur un système Unix classique.
En fait c'est juste pour faire de la pré-allocation, donc je vais pas
bidouiller cette valeur.
Si c'est pour faire de la pré-allocation, le nombre maximal de sockets est
disponible sans aucune difficulté (wsaData->iMaxSockets). En posant la
question dans un forum Windows, tu aurais déjà la réponse. [autre remarque
moins amène effacée.]
En fait, je veux juste savoir si il y'a une quantité maximum de SOCKET que peu ouvrir un processus windows.
Nous y voilà ! Autrement dit, une question complètement spécifique à Windows, et qui n'a absolument rien à voir avec le langage C.
Si tu ne le savais pas, et si tu ne l'avais pas encore compris avec _WSAStartup(), la programmation des sockets en Windows n'est pas identique à ce qui se passe sur un système Unix classique.
En fait c'est juste pour faire de la pré-allocation, donc je vais pas bidouiller cette valeur.
Si c'est pour faire de la pré-allocation, le nombre maximal de sockets est disponible sans aucune difficulté (wsaData->iMaxSockets). En posant la question dans un forum Windows, tu aurais déjà la réponse. [autre remarque moins amène effacée.]
Antoine
Astar0th
In news:439758b5$0$29219$, Astar0th typed:
En fait, je veux juste savoir si il y'a une quantité maximum de SOCKET que peu ouvrir un processus windows.
Nous y voilà ! Autrement dit, une question complètement spécifique à Windows, et qui n'a absolument rien à voir avec le langage C.
Je me suis deja excusé plus haut, et expliqué pourquoi j'ai posté ici. J'admet que je me suis trompé, mais AMHA il était probable que je tombe sur des gens qui connaissent les 2 environements Unix|Windows ici. Ce n'était décidément le bon mode de déduction pour le choix du NG. Désolé.
Si tu ne le savais pas, et si tu ne l'avais pas encore compris avec _WSAStartup(), la programmation des sockets en Windows n'est pas identique à ce qui se passe sur un système Unix classique.
...
En fait c'est juste pour faire de la pré-allocation, donc je vais pas bidouiller cette valeur.
Si c'est pour faire de la pré-allocation, le nombre maximal de sockets est disponible sans aucune difficulté (wsaData->iMaxSockets). En posant la
Dans le mille ! Merci :)
question dans un forum Windows, tu aurais déjà la réponse. [autre remarque moins amène effacée.]
Suite à ma malheureuse érreur de NG, c'est ce que j'ai fait. Malheureusement aucune réponse que j'ai eu n'a été aussi probante que la tienne. Merci de m'avoir répondu malgré mon hors sujet, je comprend que ca doit être lourd de voir des post hors sujet. Encore désolé je ne le ferais plus.
Asta.
In news:439758b5$0$29219$8fcfb975@news.wanadoo.fr,
Astar0th typed:
En fait, je veux juste savoir si il y'a une quantité maximum de SOCKET
que peu ouvrir un processus windows.
Nous y voilà ! Autrement dit, une question complètement spécifique à
Windows, et qui n'a absolument rien à voir avec le langage C.
Je me suis deja excusé plus haut, et expliqué pourquoi j'ai posté ici.
J'admet que je me suis trompé, mais AMHA il était probable que je tombe
sur des gens qui connaissent les 2 environements Unix|Windows ici.
Ce n'était décidément le bon mode de déduction pour le choix du NG.
Désolé.
Si tu ne le savais pas, et si tu ne l'avais pas encore compris avec
_WSAStartup(), la programmation des sockets en Windows n'est pas identique à
ce qui se passe sur un système Unix classique.
...
En fait c'est juste pour faire de la pré-allocation, donc je vais pas
bidouiller cette valeur.
Si c'est pour faire de la pré-allocation, le nombre maximal de sockets est
disponible sans aucune difficulté (wsaData->iMaxSockets). En posant la
Dans le mille ! Merci :)
question dans un forum Windows, tu aurais déjà la réponse. [autre remarque
moins amène effacée.]
Suite à ma malheureuse érreur de NG, c'est ce que j'ai fait. Malheureusement
aucune réponse que j'ai eu n'a été aussi probante que la tienne.
Merci de m'avoir répondu malgré mon hors sujet, je comprend que ca doit être
lourd de voir des post hors sujet. Encore désolé je ne le ferais plus.
En fait, je veux juste savoir si il y'a une quantité maximum de SOCKET que peu ouvrir un processus windows.
Nous y voilà ! Autrement dit, une question complètement spécifique à Windows, et qui n'a absolument rien à voir avec le langage C.
Je me suis deja excusé plus haut, et expliqué pourquoi j'ai posté ici. J'admet que je me suis trompé, mais AMHA il était probable que je tombe sur des gens qui connaissent les 2 environements Unix|Windows ici. Ce n'était décidément le bon mode de déduction pour le choix du NG. Désolé.
Si tu ne le savais pas, et si tu ne l'avais pas encore compris avec _WSAStartup(), la programmation des sockets en Windows n'est pas identique à ce qui se passe sur un système Unix classique.
...
En fait c'est juste pour faire de la pré-allocation, donc je vais pas bidouiller cette valeur.
Si c'est pour faire de la pré-allocation, le nombre maximal de sockets est disponible sans aucune difficulté (wsaData->iMaxSockets). En posant la
Dans le mille ! Merci :)
question dans un forum Windows, tu aurais déjà la réponse. [autre remarque moins amène effacée.]
Suite à ma malheureuse érreur de NG, c'est ce que j'ai fait. Malheureusement aucune réponse que j'ai eu n'a été aussi probante que la tienne. Merci de m'avoir répondu malgré mon hors sujet, je comprend que ca doit être lourd de voir des post hors sujet. Encore désolé je ne le ferais plus.