2017-02-23 2 views
1

Je suis donc novice dans la programmation de socket C++ et j'écris une bibliothèque pour un certain protocole.Renvoyer une connexion socket ouverte/laisser une connexion socket ouverte C++

J'ai une classe qui a une fonction appelée Quick_Connect (nom d'hôte, le port), et je l'ai rencontré des difficultés à trouver comment je voudrais aller faire quelque chose comme ce qui suit lorsque la bibliothèque est utilisé:

ClassName.Quick_Connect(); 
ClassName.SomeOtherMethod(); 

où une autre méthode envoie un message de protocole au socket ouvert créé avec Quick_Connect(). Désolé si c'est une question stupide, je suis assez nouveau pour C++ et le réseautage de bas niveau. Je ne sais pas si c'est possible ou si cela nécessitera une refonte de la structure du code actuel.

Répondre

1

Vous pouvez utiliser la variable membre de votre classe. Définissez simplement le membre socket dans la classe et dans Quick_Connect définissez cette variable. Ensuite, vous pouvez l'utiliser à partir d'une autre méthode. Il sera enveloppé à l'intérieur de votre objet.

class Protocol 
{ 
public: 
    Quick_Connect() 
    { 
     m_Socket = CreateSocket(); 
    }; 

    SomeOtherMethod() 
    { 
     if (m_Socket) 
     { 
      // use your m_Socket for sending data.  
     } 
    }; 

private: 
    Socket m_Socket; 
}; 
+0

Merci! :) , cela marche. Je ne sais pas comment je n'y ai pas pensé. –