begin process at 2012 05 30 17:30:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

Sockets probleme avec Handle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Sockets probleme avec Handle

dimanche 5 février 2006 à 11:40:57 | Sockets probleme avec Handle

Sens0r

Bonjour,

j'ai un petit problème en ce qui concerne les sokets. Je veux "construire" un programme qui me permet d'utiliser les fichiers etc des Ordinateurs qui se trouvent dans mon réseau perso.
Après avoir cherché longtemps j'ai trouvé comment faire avec Allocconsonle() etc. mais je na sais pas trop quoi faire avec les handles, quelqu'un pourrait il m'aider?

Voici mon code:
[code]
#include <iostream>
#include <conio.h>
#include <winsock2.h>
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h> //fir AllocConsole

using std::cout;
using std::cin;
using std::endl;

int main(int argc, char *argv[])
{
    char Buffer[1024]; //Mise en place d'un buffer pour les messages que l'on s'envoit
    cout<<"Client [version 1.0.0.1]"<<endl;
    cout<<"Crée le "<<__DATE__<<" à "<<__TIME__<<endl<<endl<<endl; //Donne la date et l'heure de la création
    WSADATA WSAData;  
    if((WSAStartup(0x0202, &WSAData))!=0) //Mise en place du WSAStartup
    {
        cout<<"[-]WSAStartup Erreur:"<<WSAGetLastError()<<endl; //En cas d'erreur:
        getch(); //Le fichier bloque et ferme
        return -1;
    }
    cout<<"[+]WSAStartup réussi"<<endl;
    
    char IP[70]; //Mise en place d'un buffer pour stocker l'IP ou le nom de l'hote
    cout<<"[?]IP ou nom de domaine de destination: ";
    cin>>IP; //L'utilisateur entre son adresse
    HOSTENT * Hote;    
    if((Hote = gethostbyname(IP))==NULL) // Cette condition verifie si l'hote existe
    {
        cout<<"[-]Erreur: Résolution de l'hote impossible.\n\a"<<endl;
        getch(); //En cas d'erreur le fichier dit que la résolution de l'hote est impossible
        return -1; //Fermeture
    }    
    cout<<"[+]Résolution de l'hote réussi."<<endl;

    SOCKET W_IP;
    if((W_IP = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP))==-1) //Création du socket
    {
        cout<<"[-]Erreur: Impossible de créer le socket.\n\a"<<endl;
        getch();
        return -1;
    }
    cout<<"[+]Création du socket réussie."<<endl;

    IN_ADDR Adresse;
    SOCKADDR_IN SockAddrIn;
    memcpy(&Adresse, Hote -> h_addr, Hote -> h_length);
    SockAddrIn.sin_family = AF_INET; //Type de connection: TCP
    SockAddrIn.sin_port = htons(6667); //Port avec lequel le programme va se connecter
    SockAddrIn.sin_addr = Adresse; //Adresse de destination
    if((connect(W_IP, (SOCKADDR *)&SockAddrIn, sizeof(SockAddrIn)))!=0) //Connection
    {
        cout<<"[-]Impossible de se connecter.\n\a"<<endl; //Si il est impossible de se connecter
        getch();
        return -1; //Fermeture
    }    
    send(W_IP,"C",1,0); //Envoi d'un octet en tant que test
    cout<<"[+]Connection réussie."<<endl;
   //--------------------PROBLEME-----------------------------------------
        AllocConsole(); 
        HANDLE hIn;
        hIn = GetStdHandle(STD_INPUT_HANDLE);
        if (hIn != INVALID_HANDLE_VALUE)
        {
        // Utilisation du handle.
        }

        HANDLE hOut;
        hOut = GetStdHandle(STD_OUTPUT_HANDLE);
        if (hOut != INVALID_HANDLE_VALUE)
        {
        // Utilisation du handle.
        }



    //-------------------Nei-----------------------------------------
[/code]

Que mettre à la place d'utilisation du handle?
Ce code est inspiré d'un code téléchargé sur ce site.

salutations,Sens0r

lundi 6 février 2006 à 09:16:50 | Re : Sockets probleme avec Handle

katsankat

Membre Club
char IP[70]; -> 16 suffira.
Pourquoi ouvrir deux nouvelles consoles?
lundi 6 février 2006 à 15:01:05 | Re : Sockets probleme avec Handle

Sens0r

oui, bien sur que 16 suffit, mais la n'est pas la question...

pourquoi 2?

ben une pour le Inet une pour le Out^^
non?

mais le problème c'est resolu, je vais poster ma solution dans quelques jours
mfg
Sens0r



Cette discussion est classée dans : handle, ip, include, cout, hote


Répondre à ce message

Sujets en rapport avec ce message

help!!!! Saisir adresse ip en C [ par yeager ] bonjourj'ai un petit problème pour saisir les informations sur mon adresse ip.J'ai un petit code tout simple qui devrait marcher....mais comme par has mon include<iostream> ne fonctionne pas [ par giom236 ] Bonjour, je suis débutant en c++, et j'ai l'impression que le compilateur (je suis sous visual sutio, désolé) n'arrive pas à charger la librairie iost Je n'arrive pas a créer une variable aléatoire !!! [ par daikyo ] Bonjour a tous, j'ai dévelopé un petit jeu ou l'on doit trouver un nombre entre 1 er 100 mais ce nombre (ici la variable Nb1) a trouver je souhaiterai Envoi , reception et "analyse" d'un packet TCP [ par firemax ] Bonjour Avec un pote nous avons commencer un scanner de port pour en apprendre un peu plus sur la prog reseau en C . Mais une fois que nous avons eu Probleme changement d'adresse Ip dans ma socket [ par kingdom_slayer_666 ] Bonjour, Voila j'aimerais envoyer un packet UDP a diiferentes adresses Réseau (IP). En utilisant Builder 5 j ai créer ma socket dans une classe liée switch loupé... [ par blinix123 ] dans mon code, il me sort toujours le choix 4 le choix defaut, sniff j'arrive pas ma comparaison#include #include #include void main (){ char rep; & erreur [ par Mc n1c1 ] Voici mon programme:#include using namespace std; int main(){    int acceuil;    {        cout<<"    &nb Info sur les include [ par jose12 ] Bonjour, contexte : Je ne suis pas développeur mais admin réseau. Je connais un peu le VB et divers langage Web, et j'ai une vision très très succint Adresse Ip avec routeur [ par tibob51 ] Bonjour tous,J'ai récement programmé un chat pour deux personne (serveur-client).Quand l'utilisateur du serveur se connecte son adresse IP lui est  af Aide pour le CGI en C++ [ par coubiak ] Bonjour,j'ai un petit probleme concernant les scripts en Cgi.J'ai réalise un programme de test en C++:#include #include #include using namespace std;v


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,307 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales