25/07/21 11:00
Valcars92
Salve a tutti e come sempre eccomi a darvi fastidio XD....
Stavo provando a creare un client/server in c++ e fino a qui tutto ok funziona correttamente ma il problema mi arriva qunado cerco di implementare winsock in una classe... quando provo a dividere le funzioni per creare la connessione mi da errore di override della SOCKET vi mostro come ho provato a fare la classe.... sicuramente sarà sbagliata però voglio capire dove sbaglio e come risolvere cmq vi posto il sorgente
Main.cpp
==================
Classe Network
=================
Network.h
Network.cpp
Spero che non mi bestemmiate addosso XD cmq attendo vostre risposte e grazie in anticipo
Stavo provando a creare un client/server in c++ e fino a qui tutto ok funziona correttamente ma il problema mi arriva qunado cerco di implementare winsock in una classe... quando provo a dividere le funzioni per creare la connessione mi da errore di override della SOCKET vi mostro come ho provato a fare la classe.... sicuramente sarà sbagliata però voglio capire dove sbaglio e come risolvere cmq vi posto il sorgente
Main.cpp
#include "Network.h" #include <iostream>; int main() { Network network; network.Connection(); system("PAUSE"); return 0; }
==================
Classe Network
=================
Network.h
class Network { public: void Connection(); private: SOCKET serverSocket; int tmpSocket; struct sockaddr_in server; void initSoket(); void createSocket(); void closeSocket(); };
Network.cpp
#include "Network.h" #include<winsock2.h> #include<stdio.h> void Network::Connection() { initSoket(); createSocket(); //Connect to remote server if (connect(tmpSocket, (struct sockaddr*)&server, sizeof(server)) < 0) { puts("connect error"); return; } puts("Connected"); //TODO ----------------------- //Torna al Server.cpp } void Network::initSoket() { WSADATA wsa; printf("\nInitialising Winsock..."); if (WSAStartup(MAKEWORD(2, 2), &wsa) != 0) { printf("Failed. Error Code : %d", WSAGetLastError()); return; } printf("Initialised.\n"); } void Network::createSocket() { //Create a socket if ((serverSocket = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) { printf("Could not create socket : %d", WSAGetLastError()); } printf("Socket created.\n"); //Prepare the sockaddr_in structure server.sin_addr.s_addr = inet_addr("127.0.0.1"); server.sin_family = AF_INET; server.sin_port = htons(11000); } void Network::closeSocket() { closesocket(serverSocket); WSACleanup(); }
Spero che non mi bestemmiate addosso XD cmq attendo vostre risposte e grazie in anticipo
Ultima modifica effettuata da Valcars92 25/07/21 11:09