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

C

 > 

Windows

 > 

Réseau & Internet

 > 

[C][Serveur TCP multiport]


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

[C][Serveur TCP multiport]

mardi 23 septembre 2008 à 15:59:03 | [C][Serveur TCP multiport]

mandrake73

Bonjour,

dans le cadre dans serveur tcp ecoutant sur plusieur port. Comment savoir sur quel port le client s'est connecte.

Merci
mardi 23 septembre 2008 à 17:55:41 | Re : [C][Serveur TCP multiport]

ctx_man

Salut
la fonctions accept() ?
SOCKET accept(
SOCKET s,
struct sockaddr* addr,
int* addrlen
);
Parameters
s : [in] Descriptor that identifies a socket that has been placed in a listening state with the listen function. The connection is actually made with the socket that is returned by accept.

addr : [out] Optional pointer to a buffer that receives the address of the connecting entity, as known to the communications layer. The exact format of the addr parameter is determined by the address family that was established when the socket from the sockaddr structure was created.

addrlen : [in, out] Optional pointer to an integer that contains the length of addr.

struct sockaddr_in {
short sin_family;
u_short sin_port; C'est ca que tu cherches non ?
struct in_addr sin_addr;
char sin_zero[8];
};


Le travail c'est la santé, ne rien faire c'est la préserver !!!
mardi 23 septembre 2008 à 18:05:32 | Re : [C][Serveur TCP multiport]

mandrake73

Jai deja etudie cette solution mais a priori le port dans la structure serait le port client. (enfin je pense parce que le port ne correspond pas a ce que jattend.)

Merci quand meme ;)
mardi 23 septembre 2008 à 18:13:56 | Re : [C][Serveur TCP multiport]

ctx_man

Et bien bases toi sur la socket. Tu as une socket par port, donc tu fait un tableau en associant socket/port, selon la socket qui accept tu connais le port.

Le travail c'est la santé, ne rien faire c'est la préserver !!!
mardi 23 septembre 2008 à 20:12:09 | Re : [C][Serveur TCP multiport]

mandrake73

Si je ne trouve pas une autres methodes je ferais ca. Mais il est possible de binder plusieurs ports avec une seul socket (c'est ce que je fais pour linstant)
mardi 23 septembre 2008 à 23:16:07 | Re : [C][Serveur TCP multiport]

ctx_man

Hummm, faudrais vraiment que je me remette dans les sockets ...
Sinon la solution ultime, tu implémente dans ton protocol le fait que le serveur demande au client le port sur lequel celui-ci a contacter le serveur ^^' ....

Le travail c'est la santé, ne rien faire c'est la préserver !!!
mercredi 24 septembre 2008 à 08:23:00 | Re : [C][Serveur TCP multiport]

mandrake73

Ca aurait pu le faire sauf que je dois realiser une serveur http 1.1. Donc aucune liberte du cote protocole ^^
mercredi 24 septembre 2008 à 08:41:59 | Re : [C][Serveur TCP multiport]

ctx_man

Tu as moyen de montrer un petit bout de code pour voir comment tu bind un socket à plusieurs ports ?

Le travail c'est la santé, ne rien faire c'est la préserver !!!
mercredi 24 septembre 2008 à 08:52:05 | Re : [C][Serveur TCP multiport]

mandrake73

socket_->bind("10.10.10.10:80"); socket_->bind("10.10.10.10:443"); .... Class ServerSocket { ... struct in_addr * ServerSocket::atoaddr(const std::string & addr) { struct hostent *host; if ((host = gethostbyaddr(addr.c_str(), addr.size(), AF_INET)) == NULL) host = gethostbyname(addr.c_str()); if (host != NULL) return ((struct in_addr *) *host->h_addr_list); return (NULL); } bool ServerSocket::bind(const std::string & address) { struct in_addr *addr; unsigned short port = 80; size_t pos; pos = address.find_first_of(":"); if (pos != std::string::npos) { std::string sub = address.substr(0, pos); addr = atoaddr(sub); sub = address.substr(pos + 1, address.size()); std::istringstream iss(sub); iss >> port; } else addr = atoaddr(address); if (addr == NULL) { zFatal() << "Invalid network address: " << address; return (false); } zInfo() << "Bind to: " << inet_ntoa(*addr) << ":" << port; return (bind(addr->s_addr, port)); } }
mercredi 24 septembre 2008 à 08:53:17 | Re : [C][Serveur TCP multiport]

mandrake73

desole la mise en page a saute

1 2

Cette discussion est classée dans : port, serveur, tcp, multiport


Répondre à ce message

Sujets en rapport avec ce message

exemple de code TCP Pull et push d'un serveur d'image [ par joserivo ] Tout est dans le titre.Il s'agit de l'ecriture en C++ du protocole TCP Push et TCP Pull pour acceder à un serveur multimedia.Pour detailer ces protoco sockets et proxy [ par vangeurmasker ] Bonjour Je dévelope une application qui récupere le code source d'une page html en se connectant sur le port 80 du serveur pas un socket. Le probleme TCP/IP [ par maitrez ] Bonjour à tous,je suis en train de créer une appli client et une appli serveur. L'appli client est un jeu qui représente pour l'instant une petite voi Liste des ports TCP [ par LaTatadu91 ] Bonjour ,voila je travaille actuellement sur un projet pour effectuer des communications utilisant le TCP/IPj'ai ainsi trouver la liste des ports util Problème de GetDlgItem dans un thread [ par Nixeus ] Bonjour à tous !Je développe actuellement une petite appli MFC avec visual studio 6.J'ai créer un thread qui fonctionne très bien.Dans ce thread, j'ai Écouter un port [ par jnbrunet ] Bonjour, je cherche depuis quelque temps une façon en c++ avec visual studio 2005 d'écouter les packets qu'envoi un application au serveur, et de me l Probleme de port pour un serveur dédié de CS 1.6 [ par paramotdam ] Salut,Voilà j'ai un problème de port sur counter strike 1.6.Je me connecte sur mon serveur en lan et quand des personnes viennent, je leur demande l'i Envoie de Fichier XML a un serveur TCP [ par nico971gwada ] Salut,Je dois envoyer un fichier xml à un serveur TCP et je ne sais absoluement pas comment faire.J'ai crée un ClientTcp puis je l'ai connecté au serv Client - Serveur . TCP [ par sebounty ] Bonjour,Je suis, comme qui dirais debutant en Programmation C, C++.Aujourd'hui j'aimerais réaliser un Client Serveur TCP, Cependant, tous les codes qu fork et tcp [ par majong ] Bobjour, peut-on faire un serveur pour multi-client avec tcp en utilisant fork ?Mon problème c'est que j'ai le programme mais sans utiliser fork, ce d


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 : 2,730 sec (3)

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