本文實例講述了PHP的Socket通信之UDP通信方法。分享給大家供大家參考。具體如下:
我們知道, IP包頭有一個16bit的長度, 對應的二進制最大值是2^16 -1,也就是說一個IP包整個長度的最大值是2^16 - 1 字節(jié), 如果考慮UDP通信, 那么除去IP頭的20個字節(jié), 除去UDP頭的8個字節(jié), 還剩2^16 - 1 - 20 - 8 字節(jié)。 我們來玩玩程序(本文只以客戶端發(fā)數(shù)據(jù)為例)。
? ? ? ? ?程序:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <unistd.h> #include <errno.h> int main(int argc, char *argv[]) { struct sockaddr_in srvAddr; bzero(&srvAddr, sizeof(srvAddr)); srvAddr.sin_family = AF_INET; srvAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); srvAddr.sin_port = htons(8888); int iSock = socket(AF_INET, SOCK_DGRAM, 0); // udp char szBuf[1024 * 64 -1 - 20 - 8] = {0}; int iRet = sendto(iSock, szBuf, sizeof(szBuf), 0, (struct sockaddr *)&srvAddr, sizeof(srvAddr)); printf("send size is %d, iRet is %d, errmsg[%s]\n", sizeof(szBuf), iRet, strerror(errno)); close(iSock); return 0; }
結(jié)果:
send size is 65507, iRet is 65507, errmsg[Success]
好, 我們讓send size變大1個字節(jié), 試試:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <unistd.h> #include <errno.h> int main(int argc, char *argv[]) { struct sockaddr_in srvAddr; bzero(&srvAddr, sizeof(srvAddr)); srvAddr.sin_family = AF_INET; srvAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); srvAddr.sin_port = htons(8888); int iSock = socket(AF_INET, SOCK_DGRAM, 0); // udp char szBuf[1024 * 64 - 20 - 8] = {0}; int iRet = sendto(iSock, szBuf, sizeof(szBuf), 0, (struct sockaddr *)&srvAddr, sizeof(srvAddr)); printf("send size is %d, iRet is %d, errmsg[%s]\n", sizeof(szBuf), iRet, strerror(errno)); close(iSock); return 0; }
?
?? 結(jié)果:
?
send size is 65508, iRet is -1, errmsg[Message too long]
相關推薦:
php socket通信(tcp/udp)實例分析_php技巧
以上是用實際程序來測試udp sendto函數(shù)的最大發(fā)包大小---65507的詳細內(nèi)容。更多信息請關注PHP中文網(wǎng)其他相關文章!
本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool
免費脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機

Video Face Swap
使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章
如何修復KB5060999無法在Windows 11中安裝?
1 個月前
By DDD
Oguri Cap Build Guide |漂亮的德比志
1 周前
By Jack chen
指南:恒星刀片保存文件位置/保存文件丟失/不保存
3 周前
By DDD
沙丘:覺醒 - 高級行星學家Quest演練
3 周前
By Jack chen
約會一切:德克和哈珀關系指南
3 周前
By Jack chen

熱工具

記事本++7.3.1
好用且免費的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級代碼編輯軟件(SublimeText3)