当前位置:  软件>C/C++软件

WebSocket 开发库 Wslay

    来源:    发布时间:2014-12-21

    本文导语:  Wslay 是一个用 C 语言实现的 WebSocket 开发库。实现了 RFC 6455 中描述的第 13 版本的协议。提供了基于事件的 API 和基于帧的底层 API。特别适合非堵塞的 reactor 模式风格应用。可在不同的事件中设置回调。Wslay 只支持 WebSocket 协议...

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;
}

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • WebSocket协议的Java实现 WebSocket4J
  • Easy WebSocket
  • WebSocket 的开源实现 noPoll
  • PHP WebSocket
  • xmpp-over-websocket
  • Java-WebSocket
  • WebSocket通讯框架 jWebSocket
  • PHP+WebSocket 多人在线游戏 workerman-todpole
  • WebSocket.IO
  • WebSocket
  • WebSocket的Java实现包 Tyrus
  • WebSocket和HTTP服务器 Webbit
  • WebSocket/Comet 框架 Atmosphere
  • WebSocket-Node
  • 使用swoole扩展php websocket示例
  • WebSocket 模拟库 SockJS
  • PHP WebSocket聊天室 workerman-chat
  • WebSocket服务器 CshBBrain
  • Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
  • Python通过websocket与js客户端通信示例分析


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3