[리눅스] 리눅스 서버에서의 소켓 통신 설정
리눅스 서버에서는 소켓을 사용하여 네트워크 통신을 설정할 수 있습니다. 이를 위해 몇 가지 단계를 따라야 합니다.
소켓 통신 설정 단계
- 소켓 생성: 먼저, 소켓을 생성해야 합니다. 이를 위해
socket()
함수를 사용합니다.int server_socket = socket(AF_INET, SOCK_STREAM, 0);
여기서
AF_INET
은 IPv4를,SOCK_STREAM
은 TCP 프로토콜을 나타냅니다. - 주소 할당: 다음으로, 소켓에 IP 주소와 포트 번호를 할당해야 합니다. 이를 위해
bind()
함수를 사용합니다.struct sockaddr_in server_address; server_address.sin_family = AF_INET; server_address.sin_addr.s_addr = INADDR_ANY; server_address.sin_port = htons(8080); bind(server_socket, (struct sockaddr *)&server_address, sizeof(server_address));
- 연결 대기: 서버 소켓을 연결 대기 상태로 전환해야 합니다. 이를 위해
listen()
함수를 사용합니다.listen(server_socket, 5);
- 연결 수락: 클라이언트의 연결 요청을 수락해야 합니다. 이를 위해
accept()
함수를 사용합니다.int client_socket = accept(server_socket, NULL, NULL);
- 통신: 이제 클라이언트 소켓과 데이터를 주고받을 수 있습니다. 이를 위해
send()
와recv()
함수를 사용합니다.
이러한 단계를 통해 리눅스 서버에서 소켓 통신을 설정할 수 있습니다.