2009-02-02 4 views
8

최근 학교에서 네트워킹에 중점을 둔 두 개의 수업에 참석하기 시작했습니다. 하나는 분산 시스템에 관한 것이고 다른 하나는 일반적으로 컴퓨터 네트워크에 관한 것입니다. 두 클래스의 첫 번째 실험을 마친 후에는 C와 Java 모두에서 네트워크 프로토콜과 소켓 개념을 잘 이해하게되었습니다.네트워크 프로그래밍을 배우기위한 좋은 자료는 무엇입니까?

이제는 기본 개념을 뛰어 넘어 통신 클래스 및 객체 디자인, 네트워크 디자인 패턴, 중간 소켓/스트림 관리 규칙, 중요한 라이브러리 및 일반 * nix 네트워크 프로그래밍 중간 기술 중 C 또는 OO 언어.

성공한 자원을 제안 할 수 있습니까?

답변

5

스티븐 알고를 권 해드립니다 실제 소켓 프로그래밍.

Beej's Guide to Network Programing으로 시작한 다음 TCP/IP Sockets in C.으로 이동하는 것이 좋습니다. 네트워크 프로그래밍에 대한 기본 정보를 많이 제공하고 마침내 Stevens 책을 읽는 플랫폼을 제공합니다.

스티븐스 기타 도서 TCP/IP illustrated series은 네트워크의 모든 개념적 부분을 다루고 있습니다.

12

Unix network programming 리차드 스티븐스 (Richard Stevens)는 많은 고급 네트워크 프로그래밍 기술에 대해 설명하는 필수 도서입니다. 저는 수년간 네트워크 프로그래밍을 해오 고 있으며, 지금도이 위대한 참고 문헌에서 무언가를 바라 보지 않고는 거의 하루도 지나지 않습니다.

4

고전적인 Steven의 텍스트는 항상 좋은 출발점입니다 (예 : UNIX 네트워크 프로그래밍, UNIX 환경의 고급 프로그래밍). 그 외에 분산 프로그래밍 기술과 메시지 전달 시스템에 중점을 둡니다. 소켓을 통해 메시지를 전달한다는 사실은 비동기 분산 아키텍처를 설계하는 방법을 이해하는 것만 큼 중요하지 않습니다.

또한 IP 라우팅의 작동 방식, TCP와 UDP의 작동 방식 (차이점은 물론)을 이해 한 후 TCP/IP 일러스트레이션의 사본을 선택합니다. 가장 중요한 실용적인 사항입니다. 네트워크에 관해서. 그 후에 DNS와 HTTP를 살펴보십시오. 나는 그 두 사람에 대해 정말로 좋은 텍스트를 찾지 못했을 것입니다. 아마도 누군가가 제안 할 것입니다. 다른 모든 방법이 실패하면 RFC의 내용 (DNS의 경우 RFC1034/RFC1035, HTTP의 경우 RFC2616)을 읽습니다.

6

BeeJ's Guide to Network Programming 내가 POSIX 시스템에 대한 기본 API 호출을 배웠던 곳입니다. Windows 코드로 변환하는 방법에 대한 섹션도 있습니다.

저는 초기에 시행 착오를 거쳐 '좋은'네트워크 코딩 실습을 실제로 망설였습니다. 나는 효과가 있었고 효과가 있었고 실행 된 것을 발견했습니다.

2

자바에서 오는 그냥 소켓 프로그래밍 배운 경우에, 나는 강력하게 네트워크 프로그래밍에 대한 모든 책은 시작 너무 상세하고 캡슐화하는 라이브러리를 포함 엘리오트 러스티 해롤드의 Java Network Programming

관련 문제