Je développe une application VC++ 2008/MFC sur PC qui doit communiquer
avec une caméra IP. A ce que j'ai pu constater, la caméra peut être
controlée par une série d'URL (basées sur CGI BIN). J'en conclus donc
qu'elle comporte un serveur http chargé de répondre à ces URL.
Afin de récupérer le flux vidéo de la caméra, je cherche donc à créer
une socket cliente (classe CSocket) pour me connecter à ce serveur et
envoyer les URL à la caméra. Or, je constate que la socket ne peut pas
être créée(message d'erreur : ADDRESSE INVALIDE) sur l'adresse IP de la
caméra. De même, le ping sur cette adresse IP ne marche pas.
Par contre, l'utilisation d'un navigateur web pour envoyer les URL à
cette addresse IP fonctionne sans problèmes (y compris pour afficher le
flux vidéo retourné par la caméra).
Quelqu'un sait il pourquoi la socket ne peut être créée ? Comment y
remédier ? Merci de vos conseils.
Voici le code utilisé. L'erreur se produit au moment de l'appel de la
méthode Create sur la socket. Le code erreur retournée par
WSAGetLastError est 10049 ("Cannot assign requested address") :
// Connexion de la socket à la caméra
CSocket m_EcouteSocket;
// ********************************************************
// Dclaration des variables
// ********************************************************
WSADATA initialisation_win32; // Variable permettant de récupérer la
structure d'information sur l'initialisation
int socket_error; // Variable permettant de rcuprer la valeur de retour
des fonctions utilises
// ********************************************************
// Initialisation de Winsock
// ********************************************************
socket_error=WSAStartup(MAKEWORD(2,2),&initialisation_win32);
if (socket_error!=0)
if
(!m_EcouteSocket.Create(80,SOCK_STREAM,strCameraIpAddress.GetBuffer(0)))
{
sprintf(erreur,"Create WSAErreur = %d",WSAGetLastError());
MessageBox(erreur,"INFO",MB_OK);
}
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Laurent
"cameraIP" a écrit dans le message de news: 4edd299e$0$5672$
Bonjour,
Je développe une application VC++ 2008/MFC sur PC qui doit communiquer avec une caméra IP. A ce que j'ai pu constater, la caméra peut être controlée par une série d'URL (basées sur CGI BIN). J'en conclus donc qu'elle comporte un serveur http chargé de répondre à ces URL.
Afin de récupérer le flux vidéo de la caméra, je cherche donc à créer une socket cliente (classe CSocket) pour me connecter à ce serveur et envoyer les URL à la caméra.
Tu ne peux pas utiliser les classes HTTP, genre CHttpConnection et autres ?
"cameraIP" <nomail@nomail_invalidmail.com> a écrit dans le message de news:
4edd299e$0$5672$ba4acef3@reader.news.orange.fr...
Bonjour,
Je développe une application VC++ 2008/MFC sur PC qui doit communiquer
avec une caméra IP. A ce que j'ai pu constater, la caméra peut être
controlée par une série d'URL (basées sur CGI BIN). J'en conclus donc
qu'elle comporte un serveur http chargé de répondre à ces URL.
Afin de récupérer le flux vidéo de la caméra, je cherche donc à créer une
socket cliente (classe CSocket) pour me connecter à ce serveur et envoyer
les URL à la caméra.
Tu ne peux pas utiliser les classes HTTP, genre CHttpConnection et autres ?
"cameraIP" a écrit dans le message de news: 4edd299e$0$5672$
Bonjour,
Je développe une application VC++ 2008/MFC sur PC qui doit communiquer avec une caméra IP. A ce que j'ai pu constater, la caméra peut être controlée par une série d'URL (basées sur CGI BIN). J'en conclus donc qu'elle comporte un serveur http chargé de répondre à ces URL.
Afin de récupérer le flux vidéo de la caméra, je cherche donc à créer une socket cliente (classe CSocket) pour me connecter à ce serveur et envoyer les URL à la caméra.
Tu ne peux pas utiliser les classes HTTP, genre CHttpConnection et autres ?
cameraIP
Laurent a exprimé avec précision :
Tu ne peux pas utiliser les classes HTTP, genre CHttpConnection et autres ?
Je vais essayer, mais cela ne me dit pas pourquoi la socket ne peut pas se créer ...
Laurent a exprimé avec précision :
Tu ne peux pas utiliser les classes HTTP, genre CHttpConnection et autres ?
Je vais essayer, mais cela ne me dit pas pourquoi la socket ne peut pas
se créer ...