Voici l'exemple de client
#include <iostream>
#include "mk_socket.h"
//Cette fonction est appelée après que le socket se soit connecté au serveur
void on_connect(mk_socket& sck,void* data);
// mk_socket est une réference vers le socket en utilisation
// data est un pointeur vers une donnée envoyer pour l'utiliser n'oublier pas de le caster
//Cette fonction est appelé lorsque des données arrive du réseau. La fonction ne fait qu'imprimer ce texte à l'écran.
void on_data_arrival(mk_socket& sck, char* str, int size, void* data);
// mk_socket est une réference vers le socket en utilisation
// str est la chaine de caractère ressu
// size est la taille de str
// data est un pointeur vers une donnée envoyer pour l'utiliser n'oublier pas de le caster
int main()
{
mk_socket sock //création du mk socket
// Affecte les fonction callback de connection et de reception de donnée
// Le NULL peux être remplacé par une adresse mémoire ressue par l'attribut 'data'(voir plus haut)
sock.SetOnConnectCallBack(on_connect, NULL); //Cette fonction est obligatoire comme la 'requeste' pour le server
sock.SetDataArrivalCallBack(on_data_arrival, NULL);
int port;
std::cout << "port ?" << std::endl;
std::cin >> port;
char adr[100];
std::cout << "adresse ?" << std::endl;
std::cin >> adr;
//Se connecte au server
sock.Connect(serv,port);
//On attend que la connection se ferme et que le socket n'écoute plus.
sock..WaitClose();
return EXIT_SUCCESS;
};
void on_connect(mk_socket& sck,void* data)
{
while(1) //n'arrête pas deboucler
{
char texte [100];
std::cin >> texte;
sck.Send(texte);
}
};
void on_data_arrival(mk_socket& sck, char* str, int size, void* data)
{
std::cout << str << endl; //Écrit le texte reçu
return;
};