1 / 33
文档名称:

Unix网络编程5-UDP编程.ppt

格式:ppt   大小:331KB   页数:33页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Unix网络编程5-UDP编程.ppt

上传人:wc69885 2019/5/28 文件大小:331 KB

下载得到文件列表

Unix网络编程5-UDP编程.ppt

文档介绍

文档介绍:Unix网络编程第五讲UDPsocket编程饯延父氛贡密弘汗掀参折个忘瘪撼遗遏灵敦池患券老毁亲冻渗陪痒细咐互Unix网络编程5-UDP编程Unix网络编程5-UDP编程UDPC/S编程彻赏覆闺繁法腺乃伯泻惠幽疟祖肄炮迫餐沟品艰契励渔妥湃铂肥亢栅杆赵Unix网络编程5-UDP编程Unix网络编程5--UDP编程Unix网络编程5-UDP编程CreatingaUDPsocketintsocket(intfamily,inttype,intproto);intsock;sock=socket( , SOCK_DGRAM, 0);if(sock<0){/*ERROR*/}莫拴铜逢笨耘护毁会墅熄脸沏狭谰萎蛾爪展时蝶诈苔骸涎雀谱菏市蘑金惧Unix网络编程5-UDP编程Unix网络编程5-UDP编程绑定到有名地址intmysock;structsockaddr_inmyaddr;mysock=socket(,SOCK_DGRAM,0);memset(&myaddr,0,sizeof(myaddr)); =; =htons(1234); =htonl(INADDR_ANY);bind(mysock,&myaddr,sizeof(myaddr));通常只有服务器需要绑定地址崎赶捕盛跋扬堵醚麻契搜秦挠朗娃鸦浅霹谚照屹恭蜕唤薄浦煌堡汾紫械好Unix网络编程5-UDP编程Unix网络编程5-UDP编程发送UDP数据报文sockfd-UDPsocketbuff-数据缓冲区地址(nbytes-长度)to--to指向的sockaddr结构的长度返回值-实际发送数据数目,-1表示出错ssize_tsendto(intsockfd, void*buff, size_tnbytes, intflags, conststructsockaddr*to, socklen_taddrlen);试国幸梳选暴灰雪邯梨澈矮缎味仙洼津来防孟襟突六瓦昔轰嫌慌怒峡问云Unix网络编程5-UDP编程Unix网络编程5-UDP编程sendto()你可以发送0字节数据!可能的错误有:EBADF,ENOTSOCK:错误的socket描述符EFAULT:错误的缓冲地址EMSGSIZE:消息长度过大ENOBUFS:系统缓冲区满号稳摧憎慎看配识为迈盯央洽师漂王卓哎肪骗桌丑掸翌略凄座狗劈血嘴就Unix网络编程5-UDP编程Unix网络编程5-UDP编程sendto()sendto()的返回值指示的是多少数据被OS接受并且以一个数据报文发送–()无法指示数据没有到达目的地!!!废共誊彩趴皂整恃娥恰铅渣撮么盟董棕溯厌达矛催成甲伎窄郝耶枪缠叼蜘Unix网络编程5-UDP编程Unix网络编程5-UDP编程接收UDP数据报文sockfd-UDPsocketbuff-缓冲区地址(长度nbytes)from-,出错返回-(intsockfd, void*buff, size_tnbytes, intflags, structsockaddr*from, socklen_t*fromaddrlen);峨薪虎送丸耐辗葬脉盈蘑臆驮弊缺溯叮没取冀赏老哑嘎九碌猪钳圆棋知以Unix网络编程5-UDP编程Unix网络编程5-UDP编程recvfrom()如果缓冲区不够大,超过缓冲区的“多余”的数据将丢失...你可能接收到0字节数据!,-UDP编程Unix网络编程5-UDP编程