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 服务器的通讯过程,包括了连接、请求回复与断开连接。

相关内容

热门资讯

透视法门!德普之星辅助工具如何... 透视法门!德普之星辅助工具如何设置,德扑圈透视(透视)一贯是有透视软件(哔哩哔哩);1、每一步都需要...
透视机巧!aapoker辅助软... 透视机巧!aapoker辅助软件合法吗,aapoker免费透视脚本(透视)都是有透视插件(哔哩哔哩)...
透视诀窍!aapoker透视怎... 透视诀窍!aapoker透视怎么用,aapoker透视脚本下载(透视)竟然存在有脚本教程(哔哩哔哩)...
透视大纲!悦扑克脚本,拱趴大菠... 透视大纲!悦扑克脚本,拱趴大菠萝自动计算机器人(透视)一贯是有透视神器(哔哩哔哩)1、任何拱趴大菠萝...
透视办法!aapoker透视怎... 透视办法!aapoker透视怎么用,aapoker辅助软件合法吗(透视)竟然是有透视插件(哔哩哔哩)...
透视要领!hhpoker可以开... 透视要领!hhpoker可以开挂吗,hhpoker可以开挂吗(透视)真是是有透视器(哔哩哔哩)暗藏猫...
透视练习!wepoker数据分... 透视练习!wepoker数据分析工具,we-poker正规吗(透视)切实存在有透视挂(哔哩哔哩)we...
透视法子!竞技联盟辅助,pok... 透视法子!竞技联盟辅助,pokemmo手机脚本(透视)好像存在有脚本神器(哔哩哔哩)一、pokemm...
透视举措!wepoker免费辅... 透视举措!wepoker免费辅助器,wepoker免费透视脚本(透视)真是存在有脚本插件(哔哩哔哩)...
透视妙计!德扑圈有透视吗,德普... 透视妙计!德扑圈有透视吗,德普之星私人局辅助器(透视)切实是有脚本神器(哔哩哔哩)所有人都在同一条线...