tongchenkeji 发表于:2023-3-13 16:55:330次点击 已关注取消关注 关注 私信 使用Server Send Events时怎么调整函数的缓冲区大小呢?已经设置了proxy_buff[阿里云函数计算] 暂停朗读为您朗读 使用Server Send Events时怎么调整函数的缓冲区大小呢?已经设置了proxy_buffering off;用的是nginx 函数服务。 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 函数计算# nginx131# 应用服务中间件191
魏红斌AM 2023-11-27 22:00:37 2 ServerSocket的ReceiveBuf函数需要指定接受数据的起始地址,你就把新申请的缓冲区地址指定就OK了 1、申请缓冲区 FBufSize := BufSize; //这里的BufSize为要指定的缓冲区大小 GetMem(FReceiveBuf,FBufSize); //分配内存 FCurReceiveBuf := FReceiveBuf; //当前接收数据的位置初始化为缓冲区首地址 FPosition := 0; //当前位置初始化为0 2、接收数据: try //接收数据到缓冲区 while Socket.ReceiveLength > 0 do begin MaxReceive := FBufSize – FPosition; //MaxReceive为当前可接受数据的最大值 //接收数据不得超过缓冲剩余大小 if Socket.ReceiveLength > MaxReceive then ReceiveLen := MaxReceive else ReceiveLen := Socket.ReceiveLength; FCurReceiveBuf := PByte(Integer(FReceiveBuf) + FPosition); //接收地址移动 //接收数据追加到缓冲区中 Socket.ReceiveBuf(FCurReceiveBuf^,ReceiveLen); //置当前指针位置 FPosition := FPosition + ReceiveLen; //对缓冲区数据进行解析 AnalyzeBuf; end; except ClearBuf; end;
wljslmzAM 2023-11-27 22:00:37 3 proxy_buffering off这个设置为off,那么proxy_buffers和proxy_busy_buffers_size这两个指令将会失效。但是无论proxy_buffering是否开启,proxy_buffer_size都是生效的。
这个应该不支持,websocket 是支持的。
此答案来自钉钉群“阿里函数计算官网客户”
ServerSocket的ReceiveBuf函数需要指定接受数据的起始地址,你就把新申请的缓冲区地址指定就OK了
1、申请缓冲区 FBufSize := BufSize; //这里的BufSize为要指定的缓冲区大小 GetMem(FReceiveBuf,FBufSize); //分配内存 FCurReceiveBuf := FReceiveBuf; //当前接收数据的位置初始化为缓冲区首地址 FPosition := 0; //当前位置初始化为0
2、接收数据:
try //接收数据到缓冲区 while Socket.ReceiveLength > 0 do begin MaxReceive := FBufSize – FPosition; //MaxReceive为当前可接受数据的最大值 //接收数据不得超过缓冲剩余大小 if Socket.ReceiveLength > MaxReceive then ReceiveLen := MaxReceive else ReceiveLen := Socket.ReceiveLength; FCurReceiveBuf := PByte(Integer(FReceiveBuf) + FPosition); //接收地址移动 //接收数据追加到缓冲区中 Socket.ReceiveBuf(FCurReceiveBuf^,ReceiveLen);
//置当前指针位置 FPosition := FPosition + ReceiveLen; //对缓冲区数据进行解析 AnalyzeBuf; end; except ClearBuf; end;
proxy_buffering off这个设置为off,那么proxy_buffers和proxy_busy_buffers_size这两个指令将会失效。但是无论proxy_buffering是否开启,proxy_buffer_size都是生效的。