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透视版,妙招教程(有挂秘笈)1、打开软件启动之后找到...
第9分钟辅助!wepoker辅... 第9分钟辅助!wepoker辅助插件功能,hhpoker辅助软件是真的么,项目教程(有挂头条)该软件...
第五分钟辅助!wpk作弊最怕三... 第五分钟辅助!wpk作弊最怕三个东西,wepoker免费脚本,手册教程(有挂总结)1、下载好wpk作...
9分钟辅助!德普之星透视辅助,... 9分钟辅助!德普之星透视辅助,wepokerplus辅助,方式教程(有挂透明挂)1、用户打开应用后不...
1分钟辅助!wepoker透视... 1分钟辅助!wepoker透视挂底牌,hhpoker透视脚本视频,方案教程(今日头条)1、玩家可以在...
第三分钟辅助!如何下载德普之星... 第三分钟辅助!如何下载德普之星辅助软件,智星菠萝有挂吗,模块教程(有挂教程)如何下载德普之星辅助软件...
9分钟辅助!hhpoker作弊... 9分钟辅助!hhpoker作弊码,xpoker辅助工具,教程书教程(有挂分析)运xpoker辅助工具...
第4分钟辅助!pokemmo手... 第4分钟辅助!pokemmo手机脚本,werplan辅助软件,总结教程(真是有挂)1、首先打开pok...
9分钟辅助!德州真人透视脚本,... 9分钟辅助!德州真人透视脚本,pokemmo脚本辅助器下载,妙计教程(存在有挂)1、超多福利:超高返...
第五分钟辅助!德普之星怎么设置... 您好,德普之星怎么设置埋牌这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很...