Socket acmak için root gerekliliği yoktur. Yalnızca 1024 altı portları
bind edecekseniz o zaman root olmalısınız ki bunun konu ile ilgisi yok.
ayrıca udp socket ile deneyin. SOCK_DGRAM.
Kolay gelsin.
On 05/13/2011 10:37 AM, Cihat YILDIZ wrote:
Merhabalar
c ile udp uzerinden data gonderen bir uygulama yapmaya calisiyorum.
Ancak cok ilginc bir hata aldim.
normalde bildiginiz uzere soket fonksiyonu root yetkisi ile
calistirilan bir fonksiyon,
normal bir kullanici ile bu fonksiyou calistirmak istediginizde size
-1 degeri gonde ver siz bunu calistiramazsiniz.
Benim karsilastigim hata ise ayni problemi root olarak yasamak. root
kullanicisi ile programi calistirmak istedigimde
yine fonksiyon bana -1 degeri ile donus yapiyor.
fonksiyonu su sekilde kullaniyorum.
if ((sd = socket(AF_INET, SOCK_RAW, IPPROTO_RAW)) < 0) // root
privilege required
{
fprintf(stderr,"socket() error, root ?\n");
exit(1);
}
---
Cihat YILDIZ
Electronics Engineer
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php
--
/**
* *@author* Atıf CEYLAN
* Software Developer & System Admin
* http://www.atifceylan.com
*/
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php