Home  +  Forums  +  C++ and Sockets  +  C++ and SQL: MySQL, sqlite, ODBC  +  Miscellaneous Projects
Logo
~Sockets~
~New~
~Examples~
~Contact~
english

Tutorial sobre la C++ Socket library

Introducción

Prev   |   Menu   |   Siguiente

Bienvenidos al tutorial de la C++ socket library. Soy un gran fan de aprender mediante el ejemplo y no mediante manuales de referencia, asi que es de esperar encontrar algunos code snippets.

La C++ socket library es un event-driven client/server networking framework, nada mas y nada menos. External components / methods / libraries incluyendo STL (www.sgi.com/tech/stl), openssl (www.openssl.org), and pthreads (linux). Oh, otra cosa mas . Es un diseño single-threaded , pero las clases socket tienen la habilidad de ejecutarse en su propio thread.

Aparte de algunas clases útiles en la libreria, hay dos tipos especiales de clases que vamos a ver en detalle. La clase Socket , con los diferentes IP and higher level protocols de los que esta derivado; y la clase SocketHandler que actua como controlador / event handler / dispatcher.

Un programa (cliente or servidor) consiste en una clase SocketHandler , que puede manejar una o mas clases de tipo Socket . El SocketHandler mantiene la información de la lista de sockets, y llama a select() para obtener el siguiente evento (read / write / exception). tambien controla el progreso de las outgoing connections (conexiones salientes).

Cuando el SocketHandler recibe un evento para un socket, ese evento es inmediatamente reportado a la clase Socket usando un método callback. Los métodos callback mas básicos son OnRead(), OnWrite(), OnConnect(), OnAccept(). Aqui estan el resto para completar la lista OnException(), OnDelete(), OnLine(), OnSSLInitDone(), OnRawData(), OnDetached().

La C++ socket library consiste en diferentes clases de tipo Socket especializadas como por ejemplo TcpSocket, UdpSocket, SSLSocket. Para añadir funcionalidad, para hacer cosas tipo socket read and write , una nueva clase debe ser creada que inherits una de las clases tipo Socket . Las siguentes páginas te enseñarán como crear nuevas clases Socket, y como usarlas en un programa Cliente/Servidor.

La mayoría del tiempo, la clase SocketHandler puede manejar por si misma la mayoria de requerimentos de programación cliente / servidor . Pero cuando los sockets tienen que interactuar, resulta más práctico crear una nueva clase derivada de SocketHandler . El tercer ejemplo muestra cómo hacer eso.

Prev   |   Menu   |   Next

Valid HTML 4.01!

_Continuar
Page, code, and content Copyright (C) 2021 by Anders Hedström