2009-02-02 10 views
8

Recientemente comencé a asistir a dos clases en la escuela que se centran en la creación de redes, una sobre sistemas distribuidos y otra sobre redes informáticas en general. Después de completar los primeros laboratorios para las dos clases, ahora entiendo bastante bien el protocolo de red y los conceptos de socket con C y Java.¿Cuáles son algunos buenos recursos para aprender la programación en red?

Ahora trato de superar los conceptos básicos y mejorar en clase de comunicación y diseño de objetos, patrones de diseño de red, convenciones intermedias de gestión de socket/stream, bibliotecas importantes y técnicas intermedias de programación de redes nix en general en C o OO idiomas.

¿Puede sugerirme algún recurso con el que haya tenido éxito?

Respuesta

5

saber de Steven de Elliotte oxidado Harold todo libro sobre Programación de la cadena es demasiado detallada para comenzar, y contiene la biblioteca para encapsular el programación de socket real.

Yo recomendaría comenzar con Beej's Guide to Network Programing y luego pasar al TCP/IP Sockets in C. Dan un montón de buenos conceptos básicos sobre la programación de la red y proporcionan una plataforma para finalmente examinar el libro de Stevens.

Otros libros de Stevens como TCP/IP illustrated series cubren toda la parte conceptual de las redes.

12

Unix network programming por Richard Stevens es un libro imprescindible que analiza muchas técnicas avanzadas de programación de redes. He estado haciendo programación en red durante años, e incluso ahora apenas pasa un día sin que busque algo en esta gran referencia.

4

Los textos clásicos de Steven siempre son un buen comienzo (por ejemplo, Programación de red UNIX, Programación avanzada en el entorno UNIX). Aparte de eso, concéntrese en las técnicas de programación distribuida y los sistemas de transmisión de mensajes. El hecho de que esté pasando mensajes a través de un socket no es tan importante como entender cómo diseñar una arquitectura distribuida asíncrona.

También tomaría una copia del TCP/IP ilustrado también, ya que entender cosas como cómo funciona el enrutamiento IP, cómo funcionan TCP y UDP (y cómo difieren) son las cosas prácticas más importantes que debe saber sobre redes Después de eso, explora DNS y HTTP. No he encontrado ningún texto realmente bueno sobre esos dos ... tal vez alguien sugiera alguno. Si todo lo demás falla, lea los RFC (RFC1034/RFC1035 para DNS y RFC2616 para HTTP).

6

BeeJ's Guide to Network Programming fue donde aprendí las llamadas básicas de API para sistemas POSIX. Incluso hay una sección sobre cómo traducir eso en el código de Windows.

Realmente me tropecé con la práctica de codificación de red 'buena' por prueba y error desde el principio. Encontré lo que funcionó y lo que era eficiente, y lo ejecuté.

Cuestiones relacionadas