Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de socket

3 réponses
Avatar
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);
}
}

3 réponses

Avatar
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 ?
Avatar
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 ...
Avatar
Laurent
"cameraIP" a écrit dans le message de news:
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, ...)