Skip to main content

컴퓨터 네트워크를위한 소켓 프로그래밍

자바 소켓 프로그래밍1) 네트워크 프로그래밍의 이해 [1] (유월 2025)

자바 소켓 프로그래밍1) 네트워크 프로그래밍의 이해 [1] (유월 2025)
Anonim

소켓 프로그래밍은 TCP / IP 네트워크 통신의 기본 기술입니다. 소켓은 네트워크에서 실행중인 두 프로그램 간의 양방향 링크의 한 끝점입니다. 소켓은 다른 소켓과 데이터를 송수신하기위한 양방향 통신 끝점을 제공합니다. 소켓 연결은 일반적으로 근거리 통신망 (LAN) 또는 인터넷을 통해 서로 다른 두 컴퓨터간에 실행되지만 단일 컴퓨터에서 프로세스 간 통신에도 사용할 수 있습니다.

소켓 및 주소

TCP / IP 네트워크의 소켓 끝점은 각각 IP 주소와 TCP / IP 포트 번호의 조합 인 고유 한 주소를가집니다. 소켓은 특정 포트 번호에 바인딩되어 있기 때문에 TCP 계층은 전송 된 데이터를 받아야하는 응용 프로그램을 식별 할 수 있습니다. 새 소켓을 만들 때 소켓 라이브러리는 해당 장치에서 고유 한 포트 번호를 자동으로 생성합니다. 프로그래머는 특정 상황에서 포트 번호를 지정할 수도 있습니다.

서버 소켓의 작동 방식

일반적으로 서버는 하나의 컴퓨터에서 실행되며 특정 포트에 바인딩 된 소켓을 가지고 있습니다. 서버는 다른 컴퓨터가 연결 요청을하기를 기다립니다. 클라이언트 컴퓨터는 서버 컴퓨터의 호스트 이름과 서버가 수신하는 포트 번호를 알고 있습니다. 클라이언트 컴퓨터는 자신을 식별하고, 모든 것이 올바르게되면 서버는 클라이언트 컴퓨터가 연결할 수 있도록 허용합니다.

소켓 라이브러리

저수준 소켓 API로 직접 코딩하는 대신 네트워크 프로그래머는 일반적으로 소켓 라이브러리를 사용합니다. 일반적으로 사용되는 두 개의 소켓 라이브러리는 Linux / Unix 시스템 용 버클리 소켓과 Windows 시스템 용 WinSock입니다.

소켓 라이브러리는 open (), read (), write () 및 close ()와 같은 파일 작업에 사용되는 프로그래머와 유사한 API 함수 세트를 제공합니다.