,udp Socket发送缓冲区,最大可以为多大?

用户投稿 152 0

关于“php_udpsocket”的问题,小编就整理了【3】个相关介绍“php_udpsocket”的解答:

udp Socket发送缓冲区,最大可以为多大?

发送缓冲区可以很大,但是在真正发送数据时需要分片发送。分片发送需要满足以下条件:

1、给每个udp包加上序号。

2、校验字节

每个udp包的最大大小是多少?

65507 约等于 64K

为什么最大是65507?

因为udp包头有2个byte用于记录包体长度. 2个byte可表示最大值为: 2^16-1=64K-1=65535

udp包头占8字节, ip包头占20字节, 65535-28 = 65507

如果要发送的udp报文大于65507怎么办?

需要在应用层由开发者自己分片发送. 分片的粒度最大65507字节. 系统的sendto函数是不支持大于65507字节的单包发送的.

udp创建socket失败?

在InitInstance()中初始化网络

WSADATA wsaData;

int nRet;

if((nRet = WSAStartup(MAKEWORD(2,2),&wsaData)) != 0){

TRACE("WSAStartup failed");

exit(0);

}

成功通过编译。

udp socket中的encode 使用什么编码?

编写udp协议的程序中,经常会被来回编码搞得焦头烂额,其实可以利用继承socket类的方法,将编码方式默认为"utf-8"

到此,以上就是小编对于“php_udpsocket”的问题就介绍到这了,希望介绍关于“php_udpsocket”的【3】点解答对大家有用。

抱歉,评论功能暂时关闭!