begin process at 2012 05 30 13:56:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

TimeOut sur un socket


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

TimeOut sur un socket

vendredi 10 octobre 2003 à 14:58:48 | TimeOut sur un socket

djosh

Voici un bout de code des sources du logiciel VNC, la fonction connect(). Mon but est de réduire le temps de réponse (message:"failed to connect to server") si une IP n'est pas trouvée et pour l'instant je n'y arrive pas du tt ;-{ HELPPP!

void ClientConnection::Connect()
{
struct sockaddr_in thataddr;
int res;

m_sock = socket(PF_INET, SOCK_STREAM, 0);
if (m_sock == INVALID_SOCKET) throw WarningException(_T("Error creating socket"));
int one = 1;

// The host may be specified as a dotted address "a.b.c.d"
// Try that first
thataddr.sin_addr.s_addr = inet_addr(m_host);

// If it wasn't one of those, do gethostbyname
if (thataddr.sin_addr.s_addr == INADDR_NONE) {
LPHOSTENT lphost;
lphost = gethostbyname(m_host);

if (lphost == NULL) {
throw WarningException("Failed to get server address.\n\r"
"Did you type the host name correctly?");
};
thataddr.sin_addr.s_addr = ((LPIN_ADDR) lphost->h_addr)->s_addr;
};

thataddr.sin_family = AF_INET;
thataddr.sin_port = htons(m_port);
res = connect(m_sock, (LPSOCKADDR) &thataddr, sizeof(thataddr));
if (res == SOCKET_ERROR) throw WarningException("poste non connecté");
log.Print(0, _T("Connected to %s port %d\n"), m_host, m_port);

}
dimanche 26 octobre 2003 à 04:08:25 | Re : TimeOut sur un socket

mirlaine


lu ta 2 moyen soi tu met un timeout a ton socket soi tu met un timer ...

ca donn a pe pres ca :

jai fai avec les thread ds mon code mai ca doi etre adaptable a otre chose

--timer--
int WINAPI timer(LPVOID parameter)
{


int i=0;

for(i=0; i<TIMEOUT; i++)
{
Sleep(1000);
}

if(Threadsock == NULL)
{
closesocket(sock);
display_time_info();
printf("timeout connection lost\r\n");
}
else
{
printf("ok\r\n");
}

return 0;
}
---/code----

pi le timeout c tou con a definir
int timeout = 1000; //donne 1sec

if(setsockopt(sock,SOL_SOCKET,SO_SNDTIMEO,(char*)&timeout,sizeof(timeout))!=0)
{

printf("socket option error \r\n");

return -1;
}
------------
ya toujour dotre moyen mais le mien rest assez simple
a+


Cette discussion est classée dans : socket, host, sin, addr, thataddr


Répondre à ce message

Sujets en rapport avec ce message

Documentation Reseaux [ par SnowBlade360 ] Bonjour J'ai trouver sur inernet du code afin de crée une socket mais j'aimerais connaitre exactement tout les champs qui la compose voici mon code : Client html [ par elinep ] Voila le code d'un petit client html que j'ai trouve sur cppfrance:#include #include #include #pragma comment(lib, "ws2_32.lib")SOCKET s;in_addr addr; mail - socket - pk sa déconne ?!? [ par Gendal67 ] Bonsoir,Alors la, jvous en prie aidez moi avant que je ne prenne mon clavier, ma souris, mon modem et tout le reste et que je les cognent du +fort que Multiples messages non reçus...:(( [ par Gendal67 ] Bonsoir tout le monde!Je suis actuellement en cours d'apprentissage des Sockets et j'ai crée une application Client/Server pouvant communiquer ensembl Probleme de Socket [ par Basica ] Bonjour, j'ai un petit problème avec winsock que je n'arrive pas à résoudre. Mon but est de récuppérer des pages internet en utilisant winsock en C/C Pb de pointeur [ par cz1702 ] Bonjour à tous, j'ai fait une classe pour l'utilisation des sockets qui fonctionne bien pour une utilisation, mais quand que je fait appelle plusieurs detecter déconnection [ par nem02004 ] Salut les programmeurs xDJai une connection socket ( irc ):donc :     while (1) //Boucle infinie qui recoit les données     {       buf CreateProces et fork [ par laetitiavincent ] Bonjour tout le mondeAlors je sais que fork n'existe pas sous windows. On peut utiliser CreateProcess mais mon souci et que je mélange ca avec un sock Socket sur WAN [ par galmone ] Bonjour,Voila mon probleme, j'ai une application client et une server, les 2 communiquent a merveille sur la loopback adresse (127.0.0.1-255), en LAN programmation socket [ par samijaba ] je suis entraint de dévélopper une application réseaux (client/serveur)mon probléme est que lorsque j'essai de connecter hors de réseau local il n'y a


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales