lunp
 Tutto Strutture dati File Funzioni Variabili Ridefinizioni di tipo (typedef) Tipi enumerati (enum) Valori del tipo enumerato Definizioni
Strutture dati | Ridefinizioni di tipo (typedef) | Funzioni | Variabili
Riferimenti per il file myudpserver.c
#include "lunp.h"

Strutture dati

struct  client_s
 

Ridefinizioni di tipo (typedef)

typedef struct client_s client_t
 

Funzioni

static int searchForClient (struct sockaddr_in clientStruct, client_t *clientList, int clientListIndex)
 
static bool areSockaddrinEqual (struct sockaddr_in address1, struct sockaddr_in address2)
 
static void sigintHandler (int s)
 
SOCKET myUdpServerStartup (const char *serverPort)
 Crea un socket UDP associato alla porta specificata. Continua...
 
void myUdpServerSimple (SOCKET sockfd, myTcpServerChildTask childTask)
 Implementa un server UDP che serve un client per volta. Continua...
 
void myUdpServerPreforked (SOCKET sockfd, int childCount, myTcpServerChildTask childTask)
 Implementa un server UDP che serve fino a childCount client tramite il pre-fork di childCount processi figlio. Continua...
 
bool myUdpLimitClients (struct sockaddr_in clientStruct, int maxDatagrams, int maxClients)
 Verifica che non siano stati ricevuti più di maxDatagrams datagrammi dal client clientStruct. Continua...
 

Variabili

static int numChildren = 0
 
static pid_t * childpids
 

Documentazione delle ridefinizioni di tipo (typedef)

typedef struct client_s client_t

Documentazione delle funzioni

static bool areSockaddrinEqual ( struct sockaddr_in  address1,
struct sockaddr_in  address2 
)
static
bool myUdpLimitClients ( struct sockaddr_in  clientStruct,
int  maxDatagrams,
int  maxClients 
)

Verifica che non siano stati ricevuti più di maxDatagrams datagrammi dal client clientStruct.

Parametri
clientStructLa struttura contenente le informazioni sul client da cui i dati sono stati ricevuti.
maxDatagramsIl numero massimo di datagrammi che può essere ricevuto dal client clientStruct.
maxClientsIl numero massimo di client da riconoscere.
Restituisce
Restituisce false se sono stati ricevuti più di maxDatagrams datagrammi dal client clientStruct, altrimenti restituisce true.
void myUdpServerPreforked ( SOCKET  sockfd,
int  childCount,
myUdpServerChildTask  childTask 
)

Implementa un server UDP che serve fino a childCount client tramite il pre-fork di childCount processi figlio.

Parametri
sockfdIl file descriptor del socket a cui i client si connettono.
childCountIl numero massimo di client da servire allo stesso tempo.
childTaskLa funzione da chiamare ogni volta che un client si connette al socket sockfd.
Avvertimento
Questa funzione non ritorna mai.
void myUdpServerSimple ( SOCKET  sockfd,
myUdpServerChildTask  childTask 
)

Implementa un server UDP che serve un client per volta.

Parametri
sockfdIl file descriptor del socket a cui i client si connettono.
childTaskLa funzione da chiamare ogni volta che un client si connette al socket sockfd.
Avvertimento
Questa funzione non ritorna mai.
SOCKET myUdpServerStartup ( const char *  serverPort)

Crea un socket UDP associato alla porta specificata.

Parametri
serverPortLa porta del server a cui associare il socket creato.
Restituisce
Restituisce il file descriptor del socket UDP creato.
static int searchForClient ( struct sockaddr_in  clientStruct,
client_t clientList,
int  clientListIndex 
)
static
static void sigintHandler ( int  s)
static

Documentazione delle variabili

pid_t* childpids
static
int numChildren = 0
static