programmation réseau C++ multiplateforme

programmation réseau C++ multiplateforme - C++ - Programmation

Marsh Posté le 20-07-2010 à 17:05:58    

Bonjour,
je doit développer une appli réseau (tcp/ip + autres protocoles) en C++
 
Cependant on aimerai que cette appli fonctionne sous windows et sous linux.
 
Y a t il une couche d'abstraction en c++ qui permettrai d'abstraire la manipulation des socket? de telle sorte que d'une compilation à il ne faille changer que quelque headers??

Reply

Marsh Posté le 20-07-2010 à 17:05:58   

Reply

Marsh Posté le 20-07-2010 à 18:22:59    

F A Z Z a écrit :

Bonjour,
je doit développer une appli réseau (tcp/ip + autres protocoles) en C++
 
Cependant on aimerai que cette appli fonctionne sous windows et sous linux.
 
Y a t il une couche d'abstraction en c++ qui permettrai d'abstraire la manipulation des socket? de telle sorte que d'une compilation à il ne faille changer que quelque headers??


 
 
Salut :)
 
On va surement te citer boost mais je ne connais pas.
 
Par contre, je peux te dire que les appels systèmes C concernant le réseau sont identiques sous windows et sous linux à de rares exceptions près (init supplémentaire sous windows, et select légèrement différent).

Reply

Marsh Posté le 20-07-2010 à 20:54:39    

Ha ok je ne connaissait pas, à vrai dire je n'ai jamais fait de programme client serveur en C++ (toujours C# ou Java...).
 
Je ne pense pas aller très loin dans la manipulation tcp/ip.
 
Mais il faut que sa soit du asynchrone, je ne connais pas encore le systeme linux qui sera utilisé mais je pense que que ce ne sera pas un pc mais mais une carte avec un systeme basé sur un noyau linux...
 
Apres comme il y aura un petit GUI peut être que Qt serait judicieux, je sais pas
 
Est-ce que boost.Asio ou Asio est beaucoup utilisé?

Reply

Marsh Posté le 20-07-2010 à 21:22:08    

oui, boost::asio sinon rien.

Reply

Marsh Posté le 07-08-2010 à 21:51:19    

Qt :)
http://doc.qt.nokia.com/4.6/qtcpsocket.html : de base c'est une gestion asynchrone (tu associes les évènements tels que la réception de données à une fonction/méthode de ton choix pour les traiter)
Quelques exemples (ce sont surtout les exemples réseau client/serveur qui t'intéresseront je pense) : http://doc.qt.nokia.com/4.6/examples.html

Reply

Marsh Posté le 07-08-2010 à 22:41:32    

xilebo a écrit :


Salut :)
 
On va surement te citer boost mais je ne connais pas.
 
Par contre, je peux te dire que les appels systèmes C concernant le réseau sont identiques sous windows et sous linux à de rares exceptions près (init supplémentaire sous windows, et select légèrement différent).


Ah ouais ?


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 07-08-2010 à 23:21:41    


 
 
Explique ton désaccord au moins

Reply

Marsh Posté le 08-08-2010 à 17:10:35    

c'est des BSD sockets des deux côtés, donc ouais, c'est identique, à part que sous windows, tu dois appeler un wsastartup pour  initialiser la lib et je ne sais plus quel appel système pour la fermer


---------------
last.fm
Reply

Marsh Posté le 08-08-2010 à 17:34:20    

je n'ai rien dit de plus, j'ai simplement dit que les appels systèmes sont identiques, avec une init supplémentaire pour windows, et quelques subtiles différences, par exemple au niveau de la fonction select, le premier paramètre est indispensable sous linux et ignoré sous windows.  
 

Reply

Marsh Posté le 08-08-2010 à 18:11:30    

xilebo a écrit :

je n'ai rien dit de plus, j'ai simplement dit que les appels systèmes sont identiques, avec une init supplémentaire pour windows, et quelques subtiles différences, par exemple au niveau de la fonction select, le premier paramètre est indispensable sous linux et ignoré sous windows.  
 


 
j'ai encore réussi à louper un message, aujourd'hui, c'est le tien  [:petrus75] désolé, oui, pas mieux


---------------
last.fm
Reply

Marsh Posté le 08-08-2010 à 18:11:30   

Reply

Marsh Posté le 23-10-2010 à 23:41:44    

ok

Reply

Marsh Posté le 01-11-2010 à 22:52:27    

Joel F a écrit :

oui, boost::asio sinon rien.


Je trouve quand même que sa doc est pas glop du tout :/

Reply

Marsh Posté le 02-11-2010 à 09:39:26    

Comme pas mal de docs Boost je trouve.


Message édité par Riot le 02-11-2010 à 09:39:34

---------------
Be the one with the flames.
Reply

Marsh Posté le 02-11-2010 à 10:29:57    

c'est bien le parent pauvre de la chose. La doc est souvent tres dev friendly mais pas user firendly.

Reply

Marsh Posté le 02-11-2010 à 12:12:49    

Ouais enfin c'est surtout qu'elle traite tous les cas spéciaux avec aucun exemple de cas standard de lecture de fichiers / sockets.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed