socket en C ... - C - Programmation
Marsh Posté le 13-12-2004 à 21:04:53
ben33 a écrit : Je travaille actuellement sur une application Unix (en C Unix) qui a été porté sous WIndows.. Quand je dis porté... c beaucoup dire.. disons qui compile sous Windows et qui est encapsulé dans une application multithread Windows...(donc en C++) |
Je ne vois pas pourquoi 'donc en C++'. L'API Win32 propose les pthtreads qui sont équivallents à ceux qu'on a sous Unix (à quelques détails près) et qui sont tout à fait appelables en C.
Citation : |
Marche pas. Sous Windows, il faut absolument appeler WSAStartup() et ne pas se tromper entre winsock et winsock2.
Citation : |
Ecrire du code correct ne peut être que bénéfique! Un client Windows en winsock2 est très proche d'un client Unix BSD, à part l'init et la fin (WSA...)
Marsh Posté le 14-12-2004 à 09:36:10
Merci beaucoup...
Ca fonctionne actuellement... mais ce nets pas super stable.. d'ou ma question..
Merci beaucoup
Marsh Posté le 23-12-2004 à 12:56:34
tertulia a écrit : quelle est la difference entre winsock et winsock2 ? |
Winsock est la première version des sockets Windows. Elle est très 'propriétaire'
Winsock2 est la deuxième version. Elle se rapproche énormément des sockets 'BSD' du monde Unix (Normalisés par POSIX.1 si je ne me trompe pas...).
C'est ce qu'il faut utiliser pour tout développement nouveau.
Marsh Posté le 23-12-2004 à 13:42:17
le pb c que si j'inclue winsock2 j'ai des redefinitions dues a winsock alors que je l'inclue nul part...
Marsh Posté le 23-12-2004 à 14:05:51
Emmanuel Delahaye a écrit : L'API Win32 propose les pthtreads |
Win32 dispose de ses propres thread
Y'a un portage des pthread (posix thread) pour Win32. Win32 n'est pas POSIX.
Un lien utile : http://tangentsoft.net/wskfaq/
Sinon que veux-tu dire par ce n'est pas stable, mais encore ?
Marsh Posté le 05-01-2005 à 10:16:48
Y a t il un équivalent Windows pour sigsetmask...?
Je n'arrive pas a trouver.. snif snif snif
Marsh Posté le 05-01-2005 à 11:36:51
Y'a pas les signaux en Win32. Si c'est pour faire des read non bloquants utilise select.
Marsh Posté le 16-01-2005 à 00:13:01
les socket windows winsock2.h sont mieux struturé que le model unix , la gestion d'erreur estr plus précise.
les pthread de windows sont disponibles avec la commande hThread = CreateThread( ...
Marsh Posté le 16-01-2005 à 00:16:32
pthread = POSIX thread. Windows possède son propre modèle de thread, non POSIX.
Marsh Posté le 13-12-2004 à 18:40:18
Bonjour,
Je travaille actuellement sur une application Unix (en C Unix) qui a été porté sous WIndows.. Quand je dis porté... c beaucoup dire.. disons qui compile sous Windows et qui est encapsulé dans une application multithread Windows...(donc en C++)
Cette appli se connecte à un serveur Unix en socket pour faire de l'animation d'éléments...
J'ai vu dans le code que tout ce qui concerne les sockets est resté en programmation Unix (bzero, bcopy, sigsetmask, etc...)
Pas de WSAStartup par exemple..
Or l'animation est tres peu stable..
Est ce que le fait de porter la programmation socket en Windows (en gros de passer le code du client Unix en client Windows) peut etre bénéfique?
Merci pour votre aide!