1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #include "Client.h"
- Client::Client(std::string IP, int port): m_IP(IP), m_port(port)
- {
- m_csock.recsize = sizeof(m_csock.sin);
- std::cout << "-°*,-Programme Client-,*°-" << std::endl;
- std::cout << "Initialisation..." << std::endl;
- #ifdef WIN32
- m_erreur = WSAStartup(MAKEWORD(2,2), &m_WSAData);
- #else
- m_erreur = 0;
- #endif // WIN32
- }
- Client::~Client()
- {
- std::cout << "Fermeture de la socket client" << std::endl;
- closesocket(m_csock.sock);
- std::cout << "Fermeture du client termine" << std::endl;
- #ifdef WIN32
- WSACleanup();
- #endif // WIN32
- }
- bool Client::rendreUtilisable()
- {
- if(!m_erreur)
- {
- m_csock.sock = socket(AF_INET,SOCK_STREAM, 0);
- if(m_csock.sock != INVALID_SOCKET)
- {
- std::cout << "La socket " << m_csock.sock << " est maintenant ouverte en mode TCP/IP" << std::endl;
- m_csock.sin.sin_addr.s_addr = inet_addr(m_IP.c_str());
- m_csock.sin.sin_family = AF_INET;
- m_csock.sin.sin_port = htons(m_port);
- if(connect(m_csock.sock, (SOCKADDR*)&m_csock.sin, m_csock.recsize) != SOCKET_ERROR)
- {
- std::cout << "Connection a " << inet_ntoa(m_csock.sin.sin_addr) << " sur le port " << htons(m_csock.sin.sin_port) << " reussie" << std::endl;
- }
- else
- return false;
- }
- else
- return false;
- }
- else
- return false;
- return true;
- }
- void Client::envoyer(void* donnee, int tailleByte)
- {
- if(tailleByte != 0)
- send(m_csock.sock, (char*)donnee, tailleByte, 0);
- else
- send(m_csock.sock, (char*)donnee, sizeof(donnee), 0);
- }
- void Client::recevoir(void* donnee, int tailleByte)
- {
- if(tailleByte != 0)
- recv(m_csock.sock, (char*)donnee, tailleByte, 0);
- else
- recv(m_csock.sock, (char*)donnee, sizeof(donnee), 0);
- }
|