日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

sendto成功返回

發(fā)布時(shí)間:2025/6/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sendto成功返回 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

??強(qiáng)烈推薦人工智能學(xué)習(xí)網(wǎng)站??? ? ? ? ? ? ? ? ?

?sendto用于UDP發(fā)送數(shù)據(jù),send用于TCP發(fā)送數(shù)據(jù).我們知道TCP中的send成功返回表示應(yīng)用進(jìn)程已成功將數(shù)據(jù)寫入發(fā)送緩沖區(qū),不表示數(shù)據(jù)已成功到達(dá)對(duì)端。而對(duì)于sendto成功返回,也只是表明接口輸出隊(duì)列中具有存放所形成IP數(shù)據(jù)包的空間,UDP是沒(méi)有發(fā)送緩沖區(qū)的。來(lái)看一段代碼:

#include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <netdb.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #include <errno.h> #include <malloc.h> #include <netinet/in.h> #include <arpa/inet.h> #include <sys/ioctl.h> #include <stdarg.h> #include <fcntl.h> #include <sys/types.h> #include <sys/wait.h> #include <netinet/in.h> #include <arpa/inet.h> #include <signal.h> #define MAXLINE 4096int main() {int i;int sockfd;struct sockaddr_in seraddr;sockfd=socket(AF_INET,SOCK_DGRAM,0);bzero(&seraddr,sizeof(seraddr));seraddr.sin_family=AF_INET;seraddr.sin_addr.s_addr=inet_addr("127.0.0.1");seraddr.sin_port=htons(8888);char buf[100]="11111111111";i=sendto(sockfd,buf,sizeof(buf)+1,0,(sockaddr *)&seraddr,sizeof(sockaddr));printf("i=%d\n",i);getchar();exit(0); }

?

這是一段基于UDP的客戶端的代碼,編譯并運(yùn)行,此時(shí)并沒(méi)有運(yùn)行相應(yīng)的服務(wù)端。此時(shí)sendto也成功返回了,如下:

?

[mapan@localhost UDP]$ ./client i=101

這里顯然sendto是發(fā)送錯(cuò)的,但沒(méi)有返回錯(cuò)誤。unix網(wǎng)絡(luò)編程中有一句話:未連接的UDP套接字不會(huì)收到任何異步錯(cuò)誤。

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的sendto成功返回的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。