2010-11-21 18 views
6

Estoy haciendo un simple programa de chat multiplataforma. Estoy usando wXWidgets para la GUI que funciona bien, pero necesito una forma de crear un socket y crear una configuración de cliente de servidor. ¿Hay una API que, por ejemplo, use WinSock en Windows y el socket nativo de Linux y osx?API TCP/IP simple de plataforma cruzada?

No estoy buscando la solución de boost porque la haré abierta y no todos tienen ganas de instalar una biblioteca de más de 70 MB.

Gracias

+4

que es un poco triste si un C++ desarrollador no podía ser molestado a instalar impulso – Inverse

+1

Cuando hago proyectos personales que uso Boost, pero si son proyectos de código abierto o de biblioteca, lo evito porque rara vez veo bibliotecas que dependan de él. – jmasterx

+0

puede usar boost :: asio –

Respuesta

5

El módulo de QtNetwork

+4

si el OP considera aumentar demasiado la dependencia, no creo que Qt sea más liviano ... – Inverse

+0

sí, QT es bastante grande, sin embargo, vincular estáticamente solo las bibliotecas necesarias reducirá la tamaño final del ejecutable – hhafez

5

Winsock es bastante compatible con la API de socket POSIX, y la mayoría de las funciones estándar están disponibles en ambos. Las cabeceras se nombran de manera diferente, pero un simple #ifdef pueden resolver que:

#ifdef _WIN32 
#include <winsock2.h> 
#else 
#include <sys/socket.h> 
#include <sys/types.h> 
#include <netinet/in.h> 
// other headers you may use 
#endif 
0

Estoy responder a esta pregunta siete años con la esperanza de que esto ayude a alguien, algún día (:.

no he podido encontrar una multiplataforma, ligera API de sockets (No es poco, impulsar asio y otros por ahí, pero son grandes, integral y bibliotecas complejas)

Hice, pues, un simple (y no completa) envoltorio en los zócalos POSIX y Winsock aquí: https://github.com/soroush/libcpnet

+0

Si bien este enlace puede responder a la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia. Las respuestas de solo enlace pueden dejar de ser válidas si la página vinculada cambia. - [De la crítica] (/ review/low-quality-posts/17295967) – TobiMcNamobi

Cuestiones relacionadas