Sockets unix-windows

Quisiera saber como comunicar a través de sockets un cliente windows con un servidor unix-linux, en realidad lo que no me queda claro es como interactúan los sockets BSD de unix con el winsock de windows (en C unix nos tengo winsock. H y en C windows no tengo socket.h).

2 respuestas

Respuesta
1
Los sockets fueron inventados en Berkeley con BSD UNIX.
Es una interfaz estándar adoptada por todos los SOs desde que TCP/IP se difundió (también incorporado por primera vez en BSD UNIX) junto con Internet.
Cada sistema operativo implementa esta interfaz de diferentes maneras, pero todas deben cumplir con el estándar.
De esta manera, una aplicación en C para UNIX usa la función socket() para crear un socket, mientras que en Windows se usa WSACreateSocket() (no recuerdo bien).
De cualquier manera, ambos se comportarán igual. Pero están implementados de distinta manera. Por ello no existe winsock. H en UNIX, como tampoco existe socket. H en Windows.
Muchísimas gracias por tu respuesta, implemente mi cliente con winsock y mi server con socket y cero problemas. (Gracias por responder tan pronto)
Respuesta
1
Las librerías socket de BSD y el WinSock de microsoft, solo interactúan a través de un canal de datos, y nada más.
El cliente hace una solicitud de abrir un canal (un socket, que se comporta como un archivo) y esa solicitud es resuelta por el servidor. Luego no interesa nada, los 2 programas se comunican uno con otro sin importar nada.
Para entender mejor WinSock, te recomiendo ver el SDK de WinSock en MSDN, hay ejemplos, código, etc.:
[] http://msdn.microsoft.com/library/en-us/winsock/hh/winsock/apistart_9g1e.asp

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas