Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ivancea96

#2771
Programación C/C++ / Re:
20 Noviembre 2014, 10:02 AM
Poco se puede hacer si no das más datos
#2772
Sí, pero digo que qué error te da. Dónde da error, ya lo dijiste.
#2773
Si te sirve de apoyo, yo tengo esta estructura:

Código (cpp) [Seleccionar]
#ifndef SOCKETS_H
#define SOCKETS_H

#include <string>
#include <vector>
#include <windows.h>

using namespace std;

struct connection{
    SOCKET sock;
    string ip;

    connection():sock(INVALID_SOCKET){}
};

string recv(SOCKET s, size_t maxChars=1024);

bool send(SOCKET s, string msg);

void setBlocking(SOCKET sock, bool blocking);

class TCPRawServer{
    SOCKET _listener;
    unsigned short _port;
    bool _blocking;
    bool _on;

public:
    TCPRawServer();
    TCPRawServer(unsigned short port);
    ~TCPRawServer();
    bool start(unsigned short port);
    void finish();
    connection newClient();
    bool isOn()const;
    unsigned short getPort()const;
    void setBlocking(bool blocking);
    bool isBlocking()const;
};

class TCPServer:public TCPRawServer{
    struct _client{
        SOCKET socket;
        string ip;
        bool blocking;
        vector<string> data;

        _client():socket(INVALID_SOCKET),blocking(0){}
    };
    vector<_client> _clients;

public:
    TCPServer();
    TCPServer(unsigned short port);
    ~TCPServer();
    bool newClient();
    void disconnectClient(size_t clientN);
    string recv(size_t clientN, size_t maxChars=1024);
    bool send(size_t clientN, string msg);
    vector<string>* getData(size_t clientN);
    string getIp(size_t clientN)const;
    void setBlocking(size_t clientN, bool blocking);
    bool isBlocking(size_t clientN)const;
    size_t getClientCount()const;

};

class TCPClient{
    SOCKET _socket;
    string _ip;
    unsigned short _port;
    bool _connected;
    bool _blocking;

public:
    TCPClient();
    TCPClient(string ip, unsigned short port);
    ~TCPClient();
    bool connect(string ip, unsigned short port);
    void disconnect();
    string recv(int maxChars=1024);
    bool send(const string& msg);
    bool isConnected()const;
    string getIp()const;
    unsigned short getPort()const;
    void setBlocking(bool blocking);
    bool isBlocking()const;
};

#endif // SOCKETS_H


Más que nada para que veas las funcionalidades que tiene. Son las básicas.
#2774
El simple hecho de almacenar 50MB, elija 1 o 500 arrays el programador, implica hacer montones y montones de reallocs. 1 byte, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1 kilobyte, etc
#2775
¿Por qué declaras static la función callback?

He contado los caracteres, y tienes 145 caracteres en la variable 'sql' tras el strcat. No se si es cosa de tabulaciones, o es que en verdad es así. Cambia el tamaño de la variable (250 quizás) y revisa si sigue el problema.
#2776
Cita de: rir3760 en 19 Noviembre 2014, 16:40 PM
Otra opción (que debe ser tu primera en casos similares) es utilizar el motor de búsqueda de los foros para encontrar los temas relacionados con tu duda.

Una opción encantadora sin duda. Pero hemos de admitir, que antes que buscar en el foro, todos buscamos en Google :P jaja
#2777
Dato: Esa página que pusiste, o es incorrecta, o requiere registro.
#2778
Entonces ese sistema es terriblemente más ineficiente. Si quiero coger 500MB, haz cálculos del número de reallocs.
#2779
Foro Libre / Re:
19 Noviembre 2014, 11:51 AM
Entiendo que sea foro libre y tal, pero no es abusar? xD
#2780
Programación C/C++ / Re:
19 Noviembre 2014, 11:47 AM
Entonces ya no estás usando tu método. Entonces estás incrementando 16Mb/realloc. Eso ya no es el tema.