C 实现 WebSocket 服务器
创始人
2025-01-19 19:03:26
0

目录

一、概述

二、基本特征

三、使用案例

1、客户端 HTML 代码

2、服务端 C 代码

四、运行结果


一、概述

        实现 WebSocket 服务器主要参考 RFC 协议。链接如下:

RFC 6455: The WebSocket Protocol (rfc-editor.org)icon-default.png?t=N7T8https://www.rfc-editor.org/rfc/rfc6455.html       具体的实现思路:

        1、实现一个典型的 TCP 服务器。

        2、TCP服务器处理客户端请求时,依据上述文档描述,分三个阶段处理 WS Client 请求(握手阶段、传输阶段、分手阶段)。

        详细代码已上传到 gitcode和github。

项目目录预览 - ws_server - GitCodeicon-default.png?t=N7T8https://gitcode.com/qq_37437983/ws_server/tree/mainAtaoistPriest/ws_server: This is a web socket server implemented with C. (github.com)icon-default.png?t=N7T8https://github.com/AtaoistPriest/ws_server

二、基本特征

1、指定服务器 IP 、Port 和 transmission 阶段的消息回调函数后即可快速启动服务器。

2、内置轻量级日志打印器。

三、使用案例

1、客户端 HTML 代码

          

WebSocket Client

Server:

Message:

2、服务端 C 代码

#include "./src/wbsocket_server.h"  long msg_switch(unsigned char *req, long req_len, unsigned char *res, long res_len) { 	bzero(res, res_len); 	long len = sprintf((char *)res, "Recv %s Successfully", req); 	return len; }  void test_ws_server() { 	logger_init("./log");  	start_server("172.17.83.59", "52323", msg_switch);  	logger_destroy(); }  int main(void) { 	test_ws_server(); 	return 0; }

四、运行结果

        下图是 Web Socket 客户端连接 Web Socket 服务器的通讯过程,包括了连接、请求回复与断开连接。

相关内容

热门资讯

细节开挂!樱花之盛辅助真的假的... 细节开挂!樱花之盛辅助真的假的,微乐手游辅助脚本平台(免费测试版开挂辅助神器)《详细加薇136704...
太坑了!闲娱江西修改器,wep... 闲娱江西修改器开挂教程视频分享装挂详细步骤在当今的网络游戏中,闲娱江西修改器作为一种经典的娱乐方式,...
推荐开挂!随意玩聚乐部辅助,雀... 推荐开挂!随意玩聚乐部辅助,雀友会鱼虾蟹下载官网辅助器(推荐十款开挂辅助工具);亲,雀友会鱼虾蟹下载...
太实锤了!微信小程序微乐辅助器... 您好:这款微信小程序微乐辅助器教程游戏是可以开挂的,确实是有挂的,很多玩家在这款微信小程序微乐辅助器...
关于开挂!金虎爷有挂吗,wep... wepoker怎么发冤家牌开挂教程视频分享装挂详细步骤在当今的网络游戏中,wepoker怎么发冤家牌...
太夸张了!大唐撸麻雀辅助码,佛... 太夸张了!大唐撸麻雀辅助码,佛手在线有挂吗(透视)开挂辅助工具(有挂教程)您好:大唐撸麻雀辅助码这款...
科技辅助!创游世界辅助器,边锋... 边锋干瞪眼ios辅助微信 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理...
太夸张了!微信小程序微乐房间怎... 大家好,今天小编来为大家解答微信小程序微乐房间怎么开挂这个问题咨询软件客服可以免费测试直接加微信(1...
传授开挂!新天道联盟辅助器,竞... 【亲,竞技联盟辅助 这款游戏可以开挂的,确实是有挂的,很多玩家在这款竞技联盟辅助中打牌都会发现很多用...
太夸张了!花花生活圈辅助,德普... 太夸张了!花花生活圈辅助,德普之星有辅助软件吗(透视)开挂辅助插件(有挂规律) >>您好:软件加薇1...