8 Mart 2018 Perşembe

C ile Unix Domain Socket Kullanımı

bind metodu
Şöyle yaparız.
#define SOCK_PATH "/tmp/foo"

struct sockaddr_un local;

local.sun_family = AF_UNIX;
strcpy(local.sun_path, SOCK_PATH);
unlink(local.sun_path);
int len = strlen(local.sun_path) + sizeof(local.sun_family);

if (bind(sockfd, (struct sockaddr *)&local, len) == -1) 
{
  perror("bind");
  ...  
}
socket metodu
Şöyle yaparız.
int sockfd = socket(AF_UNIX, SOCK_STREAM, 0);
Hata kontrolü için şöyle yaparız.
int sockfd;
if ((sockfd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1) 
{
  perror("socket");
  ...
}
sockaddr_un Yapısı
Bu veri yapısı Unix Domain Socket'i için kullanılır.

Hiç yorum yok:

Yorum Gönder