티스토리 뷰

N e t w o r k  P r o g r a m m i n g

파일/소켓 디스크립터(file/socket descriptor) 생성 예제



/* creat_socket.c */

#include<stdio.h>
#include<stdlib.h>
#include<sys/socket.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>

int main()
{
   int fd1, fd2, tcp_socket, udp_socket ;
   
   fd1 = open("test_file1", O_RDWR | O_CREAT, 0);
   tcp_socket = socket ( PF_INET, SOCK_STREAM, 0);
   fd2 = open("test_file2", O_RDWR | O_CREAT, 0);
   udp_socket = socket ( PF_INET, SOCK_DGRAM, 0);

   // print descriptors
   printf("test_file1's file descriptor : %d\n", fd1);
   printf("test_file2's file descriptor : %d\n", fd2);
   printf("tcp_socket descriptor : %d\n", tcp_socket);
   printf("udp_socket descriptor : %d\n", udp_socket);

   // close descriptors
   close(fd1);
   close(tcp_socket);
   close(fd2);
   close(udp_socket);

   return 0 ;
}


소켓 디스크립터는 파일 디스크립터와 동일하게 생성되는 것을 알 수 있다.

아래는 위 소스로 실행한 결과이다.

댓글