BoraOmerBoluk / 42_Minitalk

Minitalk, C programlama dilinde kendi iletişim protokolünü kullanarak istemci ve sunucu arasında sinyalleri kullanarak veriyi parça parça göndererek veri iletimini gerçekleştirir. Bu sayede güvenilir ve etkili bir iletişim sağlanır.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

42_Minitalk

Projenin Amacı

Minitalk projesi, C programlama dilinde geliştirilmiş bir iletişim uygulamasıdır. Projenin temel amacı, süreçler arası iletişimde sinyal işlemleri kullanarak istemci ve sunucu arasında güvenilir veri iletimini gerçekleştirmektir. Özellikle, veri bütünlüğünün korunması ve veri iletiminin hızlı ve hatasız bir şekilde sağlanması hedeflenir.

Nasıl Kullanılır

  1. Projeyi klonlayın:

    git clone https://github.com/BoraOmerBoluk/42_Minitalk
  2. Minitalk işlevini kullanmak istediğiniz C programınıza ekleyin:

    #include "Minitalk.h"
  3. Client ve Server uygulamasını sırayla derleyin:

    bboluk@bboluk42 Minitalk % make
    gcc -Wall -Wextra -Werror server.c -o server
    gcc -Wall -Wextra -Werror client.c -o client

    Not: Bonus dosyaları için ayrıca 'make bonus' komutunu çalıştırmanız gerekmektedir.

  4. Server uygulamasını başlatın:

    bboluk@bboluk42 Minitalk % ./server
    PID: SUNUCU_PID
  5. Client uygulamasını kullanarak veri gönderin:

    bboluk@bboluk42 Minitalk % ./client SUNUCU_PID* "Merhaba, Minitalk!👋🏻"

    Not:
    *: SUNUCU_PID kısmına ./server'ı çalıştırdığımızda bize verdiği "PID" numarasını yazmalıyız.

Projenin Özellikleri

1. Düşük Seviyeli İletişim: Minitalk, süreçler arası iletişimde sinyal işlemleri kullanarak istemci ve sunucu arasında iletişim kurar. Bu, doğrudan veri iletimi ve alımını sağlar.
2. Veri İletim Protokolü: İletilen veri, özel bir protokol üzerinden parçalara bölünür ve sunucuya gönderilir. Bu sayede verinin güvenliği ve bütünlüğü sağlanır.
3. Hata Kontrolü: Sunucu, veriyi alırken hata kontrolü yapar. Bu sayede iletilen verinin bozulup bozulmadığı kontrol edilir ve veri bütünlüğü korunur.

6. İşlevin Çalışma Mantığı

  1. Server uygulaması başlatıldığında, server kendi PID'sini görüntüler ve client ile iletişim için hazır hale gelir.
  2. Client, Server PID'sini kullanarak iletişim kurar.
  3. Client, iletilmek istenen veriyi özel bir protokol üzerinden parçalara böler ve server'a gönderir.
  4. Server, iletilen veriyi alır, parçaları birleştirir ve veri bütünlüğünü kontrol eder.
  5. Veri bütünlüğü sağlandıysa, server başarılı bir geri dönüş değeri gönderir.
  6. Client, geri dönüş değerini alarak verinin başarıyla iletilip iletilmediğini doğrular.

Katkıda Bulunma

Eğer bu projeye katkıda bulunmak isterseniz, fork ve pull request oluşturursanız sevinirim. Repository güncellenmeden önce gerekli testleri yaptığınızdan emin olunuz 😃.

Kaynaklar

Bu proje, 42 School tarafından verilen görevlerden biridir. Proje ile ilgili daha fazla bilgi ve detaylı açıklamalar için klasör içindeki tr.subject.pdf dosyasını inceleyebilirsiniz.

About

Minitalk, C programlama dilinde kendi iletişim protokolünü kullanarak istemci ve sunucu arasında sinyalleri kullanarak veriyi parça parça göndererek veri iletimini gerçekleştirir. Bu sayede güvenilir ve etkili bir iletişim sağlanır.


Languages

Language:C 94.0%Language:Makefile 6.0%