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

相关内容

热门资讯

十分钟模拟器!wpk作弊,wp... 十分钟模拟器!wpk作弊,wpk德州局怎么透视,详细教程(有挂工具);1、进入游戏-大厅左侧-新手福...
三分钟科技!wepoker辅助... 三分钟科技!wepoker辅助真的假的(透视底牌)详细辅助app(总是是真的有挂);1、下载好wep...
2分钟透视功能!hhpoker... 2分钟透视功能!hhpoker德州透视(透视脚本)详细辅助器(真是存在有挂);hhpoker德州透视...
十分钟拿好牌!aapoker辅... 十分钟拿好牌!aapoker辅助器是真的吗,aapoker怎么拿好牌,详细教程(有挂秘笈)一、软件透...
三分钟作弊!wpk透视插件,如... 三分钟作弊!wpk透视插件,如何下载wpk透视版,详细教程(有挂攻略)一、如何下载wpk透视版AI软...
三分钟透视挂底牌!wepoke... 三分钟透视挂底牌!wepoker私人局有透视吗,wepoker插件下载,详细教程(有挂教程)wepo...
九分钟辅助!hhpoker为什... 九分钟辅助!hhpoker为什么一直输,hhpoker辅助软件下载,详细教程(有挂攻略);1.hhp...
三分钟辅助器!aapoker发... 三分钟辅助器!aapoker发牌逻辑(透视脚本)详细辅助机器人(竟然有挂);1、游戏颠覆性的策略玩法...
五分钟辅助购买!wpk是真的还... 五分钟辅助购买!wpk是真的还是假的(透视辅助)详细辅助机器人(切实存在有挂);小薇(透视辅助)致您...
十分钟脚本免费!如何下载wep... 十分钟脚本免费!如何下载wepoker安装包,wepoker辅助分析器,详细教程(有挂智能);1、该...