Merhaba, TCP ile C'de gönderip alınanı yazdırıyorum ancak alınan genelde son gönderilenin bir kısmı değişerek yazdırılıyor. Sorunun nerede gerçekleştiğini buldum ancak sebebini anlayamadım.
Sorun benim yazdığım şu fonksiyondan kaynaklanıyor;
Eğer bu fonksiyonu kullanmak yerine write fonksiyonunu olduğu gibi kullanırsam alınanlar olduğu gibi yazdırılıyor ancak bu fonksiyonda bir önceki mesajı da yazdırıyor. Aşağıya kendi fonksiyonumla çıktıları ve normal çıktıları bıraktım.
Server çıktısı;
Client çıktısı;
Olması gereken çıktı;
Sorun benim yazdığım şu fonksiyondan kaynaklanıyor;
C:
void strprintln(const char * str) {
write(1, str, strlen(str));
write(1, "\n", 1);
}
Eğer bu fonksiyonu kullanmak yerine write fonksiyonunu olduğu gibi kullanırsam alınanlar olduğu gibi yazdırılıyor ancak bu fonksiyonda bir önceki mesajı da yazdırıyor. Aşağıya kendi fonksiyonumla çıktıları ve normal çıktıları bıraktım.
Server çıktısı;
Client çıktısı;
Olması gereken çıktı;