Problème de socket

Le
cameraIP
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. 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") :

-
void MyDlg::OnBtnClicked()
{
char erreur[100];

// 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);
}
}
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Laurent
Le #24036421
"cameraIP" 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
Le #24036761
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
Le #24037201
"cameraIP" 4edd7054$0$2525$
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 ...




Si le ping marche pas c'est que la config n'est pas bonne (routeur, ...)
Publicité
Poster une réponse
Anonyme