Wslay WebSocket 开发库开源项目

我要开发同款
匿名用户2014年09月20日
56阅读
开发技术C/C++
所属分类Web应用开发、WebSocket开发包
授权协议MIT

作品详情

Wslay是一个用C语言实现的WebSocket开发库。实现了RFC6455中描述的第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;}
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论