네트워크 프로그래밍 예제
글쎄, 여기에 또 다른 TCP / IP 네트워크 프로그래밍이 있지만 여기에서 우리는 리눅스 / 페도라 코어 플랫폼에서 GNU C를 사용하고 있습니다. 이 자습서에서는 매우 기본적인 네트워킹부터 패킷 수준까지 작업 중인 프로그램 예제와 함께 그래픽방식으로 제공되는 매우 완전한 토론을 제공합니다. C 프로그래밍 언어에 대한 지식과 기술이 있어야 하며, 좋은 시작을 위해서는 Linux/Fedora Core 플랫폼에 대해서도 잘 알고 있어야 합니다. 이 문서에서는 클라이언트가 연결하고, 서버에 메시지를 보내고, 서버가 소켓 연결을 사용하여 메시지를 표시하는 매우 기본적인 단방향 클라이언트 및 서버 설정에 대해 설명합니다. 이러한 작업을 위해 수행해야 하는 낮은 수준의 것들이 많이 있지만 Java API 네트워킹 패키지(java.net)는 이 모든 것을 처리하므로 프로그래머가 네트워크 프로그래밍을 매우 쉽게 수행할 수 있습니다. 일반적으로 대부분의 통신은 연결 지향및 연결없는 것으로 나눌 수 있습니다. 통신이 연결 지향인지 연결없는 지 여부는 API(응용 프로그램 프로그래밍 인터페이스)가 아니라 통신 프로토콜에 의해 정의됩니다. 연결 지향 프로토콜의 예로는 전송 제어 프로토콜(TCP) 및 시퀀스 패킷 교환(SPX)이 있으며, 연결없는 프로토콜의 예로는 사용자 데이터그램 프로토콜(UDP), “원시 IP”, 및 IPX(인터넷 작업 패킷 교환)가 있습니다. 각 항목은 기본 사항부터 4개의 TCP/IP 스택에 이르는 메모 및 작업 프로그램 예제를 제공합니다. TCP, UDP, IP 및 기타 지배적인 프로토콜을 포함하는 패킷 레벨 프로그래밍도 포함되어 있습니다. 이러한 코드 예제는 프로그램 출력을 통해 기능을 보여 주기 위해 서버 및 클라이언트 컴퓨터에서 실행되었습니다. 주제는 적절한 학습 곡선으로 배열되었습니다.
첫 번째 경우 프로그래머는 Python 라이브러리를 사용하여 운영 체제에 대한 기본 소켓 지원을 사용하고 액세스할 수 있으며 프로그래머는 프로그래밍을 위해 연결이 없는 프로토콜과 연결 지향 프로토콜을 모두 구현할 수 있습니다. 제공된 프로그램 예제에는 클라이언트 및 서버 코드가 포함되지만 동일한 컴퓨터에서 클라이언트 및 서버 코드를 테스트할 수 있습니다. GNU C에 대해 걱정하지 마십시오, 그것은 여전히 표준 C (ISO / IEC)를 기반으로합니다. 사용되는 컴파일러는 GCC (GNU 컴파일러 안녕하세요, 하나 모두! 이것은 인터넷 소켓, 또는 “소켓 프로그래밍”을 사용하여 네트워크 프로그래밍에 대한 나의 작은 방법 가이드입니다, 그것을 선호하는 사람들을 위해. 소켓 API, 비록 버클리 민속에 의해 시작, 많은 플랫폼에 이식 되었습니다., 유닉스를 포함 하 여, 리눅스, 그리고 심지어 윈도우. 파이썬은 네트워크 프로그래밍에서 필수적인 역할을 합니다. 파이썬의 표준 라이브러리는 네트워크 프로토콜, 데이터 및 기타 네트워킹 개념의 인코딩 및 디코딩에 대한 완전한 지원을 제공하며 C ++보다 파이썬에서 네트워크 프로그램을 작성하는 것이 더 간단합니다. 다른 기본 프로토콜을 사용하여 메시지를 주고보내는 것은 간단하고 간단합니다. 프로그래밍은 클라이언트가 서버에 데이터 요청을 하고 서버가 해당 컴퓨터를 회신하는 중요한 역할 n 클라이언트-서버 아키텍처를 수행한다는 것을 보여줍니다. 네트워크 프로그래밍은 전통적으로 OSI/ISO 모델의 다양한 계층을 다룹니다(대부분의 응용 프로그램 수준 프로그래밍은 L4 이상에 속합니다). 아래 표에는 다른 OSI/ISO 계층에 속하는 인기 있는 프로토콜과 해당 계층에 대한 인기 있는 API의 몇 가지 예가 포함되어 있습니다. 불행히도 API를 소화하는 것은 “많은”일 수 있지만 일부 C 또는 C ++를 아는 한이 가이드는 인간적으로 가능한 한 작은 번거 로움으로 네트워크 프로그래밍영역으로 진입해야합니다! 소켓 프로그래밍이란 무엇입니까? 소켓 프로그래밍은 네트워크에서 두 노드를 연결하여 서로 통신하는 방법입니다.
한 소켓(노드)은 IP에서 특정 포트를 수신하는 반면 다른 소켓은 다른 소켓에 연결하여 연결됩니다. 클라이언트가 서버에 도달하는 동안 서버는 수신기 소켓을 형성합니다. 컴퓨터 네트워크 프로그래밍에는 프로세스가 컴퓨터 네트워크를 통해 서로 통신할 수 있는 컴퓨터 프로그램을 작성하는 작업이 포함됩니다.