elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 ... 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 [278] 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 ... 401
2771  Programación / Programación C/C++ / Re: [Idea] Librería para simplificar el uso de sockets en: 19 Noviembre 2014, 21:32 pm
Si te sirve de apoyo, yo tengo esta estructura:

Código
  1. #ifndef SOCKETS_H
  2. #define SOCKETS_H
  3.  
  4. #include <string>
  5. #include <vector>
  6. #include <windows.h>
  7.  
  8. using namespace std;
  9.  
  10. struct connection{
  11.    SOCKET sock;
  12.    string ip;
  13.  
  14.    connection():sock(INVALID_SOCKET){}
  15. };
  16.  
  17. string recv(SOCKET s, size_t maxChars=1024);
  18.  
  19. bool send(SOCKET s, string msg);
  20.  
  21. void setBlocking(SOCKET sock, bool blocking);
  22.  
  23. class TCPRawServer{
  24.    SOCKET _listener;
  25.    unsigned short _port;
  26.    bool _blocking;
  27.    bool _on;
  28.  
  29. public:
  30.    TCPRawServer();
  31.    TCPRawServer(unsigned short port);
  32.    ~TCPRawServer();
  33.    bool start(unsigned short port);
  34.    void finish();
  35.    connection newClient();
  36.    bool isOn()const;
  37.    unsigned short getPort()const;
  38.    void setBlocking(bool blocking);
  39.    bool isBlocking()const;
  40. };
  41.  
  42. class TCPServer:public TCPRawServer{
  43.    struct _client{
  44.        SOCKET socket;
  45.        string ip;
  46.        bool blocking;
  47.        vector<string> data;
  48.  
  49.        _client():socket(INVALID_SOCKET),blocking(0){}
  50.    };
  51.    vector<_client> _clients;
  52.  
  53. public:
  54.    TCPServer();
  55.    TCPServer(unsigned short port);
  56.    ~TCPServer();
  57.    bool newClient();
  58.    void disconnectClient(size_t clientN);
  59.    string recv(size_t clientN, size_t maxChars=1024);
  60.    bool send(size_t clientN, string msg);
  61.    vector<string>* getData(size_t clientN);
  62.    string getIp(size_t clientN)const;
  63.    void setBlocking(size_t clientN, bool blocking);
  64.    bool isBlocking(size_t clientN)const;
  65.    size_t getClientCount()const;
  66.  
  67. };
  68.  
  69. class TCPClient{
  70.    SOCKET _socket;
  71.    string _ip;
  72.    unsigned short _port;
  73.    bool _connected;
  74.    bool _blocking;
  75.  
  76. public:
  77.    TCPClient();
  78.    TCPClient(string ip, unsigned short port);
  79.    ~TCPClient();
  80.    bool connect(string ip, unsigned short port);
  81.    void disconnect();
  82.    string recv(int maxChars=1024);
  83.    bool send(const string& msg);
  84.    bool isConnected()const;
  85.    string getIp()const;
  86.    unsigned short getPort()const;
  87.    void setBlocking(bool blocking);
  88.    bool isBlocking()const;
  89. };
  90.  
  91. #endif // SOCKETS_H
  92.  

Más que nada para que veas las funcionalidades que tiene. Son las básicas.
2772  Programación / Programación C/C++ / Re: [Opinion] Problema acerca de optimización en código - Uso dinámico de arrays en: 19 Noviembre 2014, 18:37 pm
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
2773  Programación / Programación C/C++ / Re: Base de datos SQLite hace un Segmentation Fault al ejecutar sentencia SQL. en: 19 Noviembre 2014, 16:50 pm
¿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.
2774  Programación / Programación C/C++ / Re: Imprimir Hora en un archivo en: 19 Noviembre 2014, 16:46 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
2775  Foros Generales / Foro Libre / Re: ¿Alguien que sepa programar emuladores sobre juegos online? en: 19 Noviembre 2014, 15:52 pm
Dato: Esa página que pusiste, o es incorrecta, o requiere registro.
2776  Programación / Programación C/C++ / Re: [Opinion] Problema acerca de optimización en código - Uso dinámico de arrays en: 19 Noviembre 2014, 14:50 pm
Entonces ese sistema es terriblemente más ineficiente. Si quiero coger 500MB, haz cálculos del número de reallocs.
2777  Foros Generales / Foro Libre / Re: en: 19 Noviembre 2014, 11:51 am
Entiendo que sea foro libre y tal, pero no es abusar? xD
2778  Programación / Programación C/C++ / Re: en: 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.
2779  Programación / .NET (C#, VB.NET, ASP) / Re: Que es mejor o recomiendan más Vb o C#? en: 18 Noviembre 2014, 23:49 pm
menos amigable y/o atractivo... creo que VB .NET fue un triste movimiento de Microsoft en busca de actualizar, preservar y obligar a programadores VB a migrar a .NET

Cuidado. Atractividad y amigabilidad son gustos.

No fue un triste movimiento, fue un buen paso de Windows para adaptar VB a .NET.

También recordad el ranking TIOBE, que aunque no es una biblia, sí es una estadística a tener en cuenta:

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Aunque la estadística apoya a C# con una diferencia de un ~1.5%, el caso es que el conjunto VB no está para nada obsoleto. Yo lo programo, y mucha otra gente también.
2780  Programación / Programación Visual Basic / Re: Ayuda cargar evento al cargar tabPageX en: 18 Noviembre 2014, 23:41 pm
No dijiste qué tipo de error te da.

Y por cierto, este subforo es de VisualBasic.
Páginas: 1 ... 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 [278] 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 ... 401
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines