begin process at 2012 05 30 17:18:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

Réseau & Internet

 > 

Socket bloquant ==> non bloquant


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

Socket bloquant ==> non bloquant

mardi 20 janvier 2009 à 11:44:58 | Socket bloquant ==> non bloquant

Guigar

Bonjour, je programme en C sous linux. J'ai a l'heure actuelle fait un petit programme de socket en C, en mode bloquant c'est a dire que j'attends la connexion d'un client, je lit le buffer puis je ferme la connexion. Ceci marche tres bien

J'aurai aimer savoir si c'est facile de transformer cela en non bloquant

voila un petit bout de code :

Code :

int main(int argc, char *argv[])

{

int sockfd, newfd, size;

struct sockaddr_in local;

struct sockaddr_in remote;

bzero(&local, sizeof(local));

local.sin_family = AF_INET;

local.sin_port = htons(PORT);

local.sin_addr.s_addr = INADDR_ANY;

bzero(&(local.sin_zero), 8);

if((sockfd=socket(AF_INET, SOCK_STREAM, 0)) == -1)

{

perror("socket");

exit(1);

}

if(bind(sockfd, (struct sockaddr *)&local, sizeof(struct sockaddr)) == -1)

{

perror("bind");

exit(1);

}

if(listen(sockfd, 5) == -1)

{

perror("listen");

exit(1);

}

size = sizeof(struct sockaddr_in);

while(1)

{

if((newfd=accept(sockfd, (struct sockaddr *)&remote, &size)) == -1)

{

perror("accept");

exit(1);

}

if (!fork())

{

send(newfd,msg,sizeof(msg), 0);

 

 

close(0);

close(newfd);

}

}

return(0);

}


Merci d'avance

mardi 15 février 2011 à 12:27:50 | Re : Socket bloquant ==> non bloquant

razuki

SAlut Guigar,
j'aimerais savoir :
1) c'est quoi mode bloquant, et non bloquant ?
2) comment reconnaitre qu'une socket est en mode bloquant ou pas ?
3) quand faut - il utiliser une socket en mode bloquant, en mode non bloquant ?

Merci d'avance.


Cette discussion est classée dans : local, socket, struct, sockaddr, bloquant


Répondre à ce message

Sujets en rapport avec ce message

Pb socket [ par jcqguill ] Salut, j'utilise une sockaddr déclaré :         struct sockaddr interface = { AF_INET, "lo" } (ou "eth0") je rempli des structures du type :   &nb Liaison client/serveur (socket) [ par bthivent ] Bonjour !J'ai suivi un tutorial pour apprendre les sockets. J'ai ensuite essaiyé un exemple qu'ils proposaient, voici mon code qui permet de faire un Socket [ par casper_2 ] Rebonjour,jaimerais savoit,koment pourrai-je me reconecter automatiquement au serveur.ex:je lance mon programme sans ouvrir ma connexion internet.10 s send bloquant ou pas bloquant ? [ par macros ] Voila mon problemeJe fais un client qui recoit les données d'un serveur et les renvoies sur une autre socket le tout en TCP. Le probleme est le sui PROB SOCKETS CON [ par zzzzzz ] le code source marche mais quand je rajoute un cout#include #pragma comment(lib,"ws2_32.lib")#include int main(void) Probleme de Client Serveur [ par Krox68 ] voila jaimerais faire un programme client qui puisse se connecter a ce serveur : #include void main(){ WSADATA WSAData; WSAStartup(MAKEWORD(2,0), &WS LERREUR QUI TUE §§§§§§§§§§§§§§§§ [ par Avalon10101 ] Vla jai fé mon prog tout é juste mais ya une erreur que je narrive vraiment pas à comprendre ! :C:\Documents and Settings\Alex\Mes documents\Makefile. Socket non bloquant [ par VoLc0m ] Bonjour a tous.Voila mon probleme c ke je n'arrive pas a faire passer un socket en mode non blokan, j'utilise winsock, et le protocole UDP.Je suis all prob sock [ par epoc ] voilà, g commencé la prog des socks en vc++, mais rien ne transitte alors que la connexion semble être bien effectuée, voilà le code :**************** pb bind pour un serveur avec djgpp/gcc [ par Guillaume of IUT ] Salut à tous, j'ai un problème. Voici le code du serveur en C. C'est pratiquement l'exemple qui est livré avec les librairies tcp lsck073b. Le problem


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,952 sec (4)

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