int setsockopt(int Socquette, int Niveau, int Commande, char *Parametres, int Taille);
La commande Commande a pour paramètre Parametres dans la limite de Taille octets et elle concerne le niveau de la couche de communication Niveau.
Le résultat est 0 si l'opération a réussie.
#include <stdio.h>
#include <socket.h>
int Socquette;
int Activer;
int TailleBuffer;
struct linger ViderContenu;
...
Activer=1;
if (setsockopt(Socquette, SOL_TCP, TCP_NODELAY, (char *)&Activer, sizeof(int))<0)
{
...
}
...
Activer=1;
if (setsockopt(Socquette, SOL_SOCKET, SO_DONTROUTE, (char *)&Activer, sizeof(int))<0)
{
...
}
...
Activer=1;
if (setsockopt(Socquette, SOL_SOCKET, SO_DONTROUTE, (char *)&Activer, sizeof(int))<0)
{
...
}
...
TailleBuffer=4096;
if (setsockopt(Socquette, SOL_SOCKET, SO_RCVBUF, (char *)&TailleBuffer, sizeof(int))<0)
{
...
}
...
TailleBuffer=4096;
if (setsockopt(Socquette, SOL_SOCKET, SO_SNDBUF, (char *)&TailleBuffer, sizeof(int))<0)
{
...
}
...
Activer=1;
if (setsockopt(Socquette, SOL_SOCKET, SO_REUSEADDR, (char *)&Activer, sizeof(int))<0)
{
...
}
...
ViderContenu.l_onoff=1;
ViderContenu.l_linger=60;
if (setsockopt(Socquette, SOL_SOCKET, SO_LINGER, (char *)&ViderContenu, sizeof(struct linger))<0)
{
...
}
...