????Linux???е?IO?????????read??write??recv??send??recvmsg??sendmsg??readv??writev???????????????????????????
????read??????
????#include <unistd.h>
????ssize_t read(int fd??void *buf??size_t count);
????read???????????????fd?????????У????count????????buf???????????count?0??read?????0?????????????????????count???????SSIZE_MAX???????????????????????????????????λ?????????????λ?????С????????????????
???????read??г?????????????????????????-1???????????д?????????????????????β??????0?????У?ssize??????????????int??long????????????????????????????????int?????????long??
????write??????
????#include <unistd.h>
????ssize_t write(int fd??const void *buf??size_t count);
??????????????read?????
????recv??????
????#include <sys/types.h>
????#include <sys/socket.h>
????ssize_t recv(int s??void *buf??size_t len??int flags);
????recv?????????????????ú??????????s?н???????????????buf?У?buf?????len????????????flags??????????????s??????????????????????????????socket??????????????????buf????????????????????????????????????len????????????С??????????λ???????????flags???????y????????????

????MSG_DONTWAIT??????????????IO??????????????????????????????????????????????IO?????????????????
????MSG_ERRQUEUE???????????????????????Э?顣
????MSG_OOB?????????????????????????????????????????
????MSG_PEEK????????????????????recv??????к?????????Щ?????????
????MSG_TRUNC???????????????????????????С??????????????????????????????????????????????????????С????????????????????????
????MSG_WAITALL?????????????ж????????????????????????????????????????????????????readn()??????????????????
????#define readn(fd??ptr??n) recv(fd??ptr??n??MSG_WAITALL).
?????????????MSG_WAITALL??????????????????a??????????b?????????c??????????????????????????????????????????????
?????????MSG_WAITALL???????????????????????????????????????????е????????????????????????????????????????
????????recv()????????????????????????????????-1?????????

????recv()???????TCP??UDP???recvfrom??????????????????????????????????????????????recv?????????????
????recv()???????????????и?????????????????????????????е????????????????С??????????£???в???MSG_WAITALL???????????????е??????????????????????????????????????????е????????????????????????????????????????????е?????????????????????????????????′ε??y?????????????????????????????????????????????????????????????е?????