Wslay 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Wslay 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Wslay 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Wslay 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Wslay 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 MIT
开发语言 C/C++
操作系统 Linux
软件类型 开源软件
开源组织
地区 不详
投 递 者 小编辑
适用人群 未知
收录时间 2014-09-20

软件简介

Wslay 是一个用 C 语言实现的 WebSocket 开发库。实现了 RFC 6455 中描述的第 13 版本的协议。提供了基于事件的 API 和基于帧的底层 API。特别适合非堵塞的 reactor 模式风格应用。可在不同的事件中设置回调。Wslay 只支持 WebSocket 协议的数据传输部分,不执行 HTTP 的握手过程。

示例代码:

ssize_t send_callback(wslay_event_context_ptr ctx,
                      const uint8_t *data, size_t len, void *user_data)
{
  struct Session *session = (struct Session*)user_data;
  ssize_t r;

  int sflags = 0;
#ifdef MSG_MORE
  if(flags & WSLAY_MSG_MORE) {
    sflags |= MSG_MORE;
  }
#endif // MSG_MORE
  while((r = send(session->fd, data, len, sflags)) == -1 && errno == EINTR);
  if(r == -1) {
    if(errno == EAGAIN || errno == EWOULDBLOCK) {
      wslay_event_set_error(ctx, WSLAY_ERR_WOULDBLOCK);
    } else {
      wslay_event_set_error(ctx, WSLAY_ERR_CALLBACK_FAILURE);
    }
  }
  return r;
}
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
暂无内容
暂无内容
0 评论
11 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部