c - 立即发送到 TCP 套接字 bufferevent_write bufferevent libevent
问题描述
我有应用程序每 5 分钟间隔 5 秒发送数据事件 10 条消息,缓冲区大小可以为 10KB。它的非阻塞连接。出于这个原因,我使用了 bufferevent。但我无法达到同样的效果。所有 10 条消息都聚集在一起。
客户 :
void fnTimeExpired(evutil_socket_t listener, short event, void *arg)
{
char buffer[iMesssageSize + 10];
memset(buffer, 'A', sizeof(buffer));
cout << "fnTimeExpired" << endl;
char Buffer[100];
uint64_t exp;
read(iTimerFd, &exp, sizeof(uint64_t));
for (int iCount = 0; iCount < iNoOfMessage; iCount++)
{
bufferevent_write(bev, buffer, iMesssageSize);
bufferevent_flush(bev, EV_WRITE, BEV_FLUSH);
sleep(5);
}
}
解决方案
推荐阅读
- powerbi - 如何在 PowerBI 中创建一个 x 轴和两个平行 y 轴的条形图
- ios - 使用 sharedApplication openURL 方法在 Safari 中使用 POST 方法打开 URL
- reactjs - 开玩笑遇到了一个意外的令牌-看起来无法转换 jsx 元素
- c++ - 如何使用面板在穿山甲中显示 2D 图形
- azure-cosmosdb - Azure cosmosDB 不会删除 TTL 过期的文档
- ruby-on-rails - 是 否 Rails 中的 check_box_tag 无法正常工作
- python - 是否有一种基于特征对齐二维数组的方法,例如图像配准
- java - 将文本字符串从 Android 应用程序/插件发送到 Unity 应用程序
- python - 写入 tmp/data.json 时权限被拒绝
- google-cloud-platform - 将数据存储列从字符串转换为时间戳