<div dir="ltr">Buna,<div class="gmail_extra"><br><div class="gmail_quote">2016-05-19 22:41 GMT+03:00 Razvan Deaconescu via so2 <span dir="ltr"><<a href="mailto:so2@cursuri.cs.pub.ro" target="_blank">so2@cursuri.cs.pub.ro</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Georgiana Diana via so2 <<a href="mailto:so2@cursuri.cs.pub.ro">so2@cursuri.cs.pub.ro</a>> writes:<br>
> Trecand de bind si connect si ajungand la send/sendto/sendmsg, am din nou o<br>
> intrebare:<br>
><br>
> Este vreo diferenta intre sendmsg si sendto, in ceea ce priveste cazurile<br>
> de eroare ce ar trebui tratate sau campurile din struct msghdr (il voi nota<br>
> m) care sunt populate de cele doua apeluri ?<br>
><br>
> Erorile pentru ambele as zice ca sunt urmatoarele:<br>
> - socket conectat, dar campul m->msg_name setat => -EISCONN, conform[3];<br>
> - socket neconectat, dar campul m->msg_name nesetat => -ENOTCONN,<br>
> conform[3];<br>
> - (-1) pentru erori interne, conform[3].<br>
<br>
</span>Păi nu ai nevoie de vreo implementare de sendto, folosești doar<br>
sendmsg. La fel, folosești doar recvmsg. Poate e ceva ce nu înțeleg din<br>
ce întrebi.<br></blockquote><div><br></div><div>Dap, stiu ca toate trei functiile de send/receive sunt tratate in sendmsg/recvmsg, dar nu mi-era foarte clar daca exista vreo diferenta in felul in care sunt setate campurile din structurile primite ca parametru sau daca exista vreo diferenta in codurile de eroare ce ar trebui intoarse, in functie de functia apelata din user space, ...</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class=""><br>
> Cat despre campurile ce vor contine mesajul efectiv, din cate inteleg din<br>
> [3], toate cele trei functii (send, sendmsg, sendto) lucreaza cu m->msg_iov<br>
> pentru a retine bufferul de trimis. Corect ?<br>
<br>
</span>Da.<br></blockquote><div><br></div><div>... , dar din cate inteleg din raspunsul tau, nu ar fi, iar diferenta dintre apelul sendmsg si sendto din user space ar fi aceea ca folosind sendmsg poti seta in msghdr-ul trimis si campurile de control ale mesajului ?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
>> [3] <a href="http://linux.die.net/man/2/sendto" rel="noreferrer" target="_blank">http://linux.die.net/man/2/sendto</a><br>
<br>
Răzvan<br>
_______________________________________________<br>
<a href="http://ocw.cs.pub.ro/courses/so2/resurse/lista-discutii" rel="noreferrer" target="_blank">http://ocw.cs.pub.ro/courses/so2/resurse/lista-discutii</a></blockquote></div><br><br>Georgiana<br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><font color="#0000ff"><b>Georgiana Diana Ciocirdel</b></font><div>Polytechnic University of Bucharest,</div><div>Computer Science</div></div></div>
</div></div>