Manual de sockets en C?

Iniciado por lluk, 24 Septiembre 2012, 22:39 PM

0 Miembros y 1 Visitante están viendo este tema.

lluk

Hola a todos,
alguien me podría decir si este manual para programación de sockets, aún sirve, o las funciones han cambiado o algo..
http://www.eslinux.com/articulos/8591/programacion-sockets-lenguaje-c
Gracias de antemano!

oPen syLar

#1
Sin duda esta muy bien documentado.. (me lo guarde en los Bookmarks =) ) tambien en las manpages estan documentadas las funciones/estructuras POSIX y no POSIX para sockets


man socket
man recv
man send


Si quieres un ejemplo de uso.. En mi Github (http://adf.ly/D8vUh) están varias funciones que implementan sockets bajo Linux.. Si bien les falta depurarlas.. Por lo menos de ejemplo sirve =)

Siempre habra 2 verdades, la que quieres creer y la que no aceptaras

lluk

ook! muchas gracias
entonces estos solo funcionan en linux? o también van en windows?

oPen syLar

"Funcionan en ambos" Solo que en Windows tendrás que cambiar algunas estructuras y inicializar el Winsock con una función llamada WStartup() (En realidad no recuerdo bien su nombre) donde le pasas la versión a utilizar.. blabla... En MSDN esta bien documentado...
Siempre habra 2 verdades, la que quieres creer y la que no aceptaras

Javier235

Cita de: lluk en 24 Septiembre 2012, 22:39 PM
Hola a todos, alguien me podría decir si este manual para programación de sockets, aún sirve, o las funciones han cambiado o algo..
http://www.eslinux.com/articulos/8591/programacion-sockets-lenguaje-c
Gracias de antemano!

Entre Windows y Linux hay cosas que cambian porque si vos querés crear un proceso, usar pipes, etc. vas necesitar usar las syscalls del sistema y éso ya sería específico del kernel.

Ahora, si vos programás en ANSI C debería ser lo mismo, lo que pasa que si uno mira las syscalls de linux se confunde un poco porque pensás que son parte del lenguaje C ya que te devuelven datos que son propios de C y los nombres también se prestan para la confusión. En Windows ves que devuelve cosas raras como un handler, etc y lo diferenciás ahí nomás jeje (leé alguna edición de "Windows Internals" si te interesa).

Te recomiendo Advanced Linux Programming, el capítulo 5 sobre IPC: http://www.advancedlinuxprogramming.com/alp-folder/ que habla sobre sockets en una parte.

Bajate NetCat u otra cosa que sea media cortita y léela... Y capaz que "El lenguaje de programación C" de Kernighan y Ritchie también te pueda servir (vas a ver que tiene ejercicios pavos... pero es un libro que no tiene desperdicio, fíjate el capítulo 8 que habla algo sobre sistemas unix).