본문 바로가기
컴퓨터/Linux

[Linux C] TCP 서버 프로그램

by Begi 2022. 10. 5.
반응형

Linux TCP 서버의 C 프로그램 코드는 다음과 같다.

 

// 소켓 생성
socket_desc = socket(AF_INET, SOCK_STREAM, 0);
if (socket_desc == -1) printf("Could not create socket");

server.sin_family  = AF_INET;
server.sin_addr.s_addr  = INADDR_ANY;
server.sin_port  = htons(8888);

int option = 1;
setsockopt(socket_desc, SOL_SOCKET, SO_REUSEADDR, &option, sizeof(option));

// Bind
if(bind(socket_desc,(struct sockaddr *)&server, sizeof(server)) < 0) 
{
    puts("Bind failed");
    return -1;
}
puts("Bind done");

// Listen
listen(socket_desc , 3);

// Accept
puts("Waiting for incoming connections...");
c = sizeof(struct sockaddr_in);
new_socket = accept(socket_desc, (struct sockaddr *)&client, (socklen_t*)&c);
if (new_socket<0) perror("accept failed");
printf("Connection accepted (socket=%d)\n", new_socket);

// 전송
message = "Hello Client !\n";
write(new_socket , message , strlen(message));

// 수신
while((read_size = recv(new_socket, client_message, 1024, 0)) > 0)
{
    write(new_socket , client_message, read_size);
}

close(new_socket);

 

 

반응형

'컴퓨터 > Linux' 카테고리의 다른 글

Raspberry Pi UART 교환  (0) 2022.09.23
Raspberry Pi UART 사용 (C 프로그램)  (0) 2022.09.22
Raspberry Pi UART 설정  (0) 2022.09.21
Raspberry Pi의 GPIO 사용 (직접제어)  (0) 2022.09.21
Raspberry Pi 설치 방법  (0) 2022.09.20

댓글