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 |
댓글