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

相关内容

热门资讯

九分钟了解“丽水都莱app辅助... 九分钟了解“丽水都莱app辅助”必备开挂辅助器-总是存在有挂1、首先打开丽水都莱app辅助最新版本,...
我来教教你!德州hhpoker... 我来教教你!德州hhpoker脚本“揭秘开挂透视挂辅助神器”;是一款可以让一直输的玩家,快速成为一个...
总算了解!超级三加一透视辅助,... 总算了解!超级三加一透视辅助,衢州都莱破解器,力荐教程(有挂技巧);一、超级三加一透视辅助有挂的是的...
9分钟黑科技!hhpoker辅... 9分钟黑科技!hhpoker辅助器视频,扣点点山西辅助软件(方法透视开挂辅助方法)1、扣点点山西辅助...
七分钟了解“丽水辅助器”靠谱开... 七分钟了解“丽水辅助器”靠谱开挂辅助神器-果然是有挂1)丽水辅助器辅助挂:进一步探索丽水辅助器辅助透...
必看攻略!wepoker有辅助... 必看攻略!wepoker有辅助“2026新版开挂透视挂辅助神器”;1、超多福利:超高返利,海量正版游...
玩家必看分享!浙江宝宝游戏辅助... 【福星临门,好运相随】;玩家必看分享!浙江宝宝游戏辅助脚本,同城游辅助软件,新2025版(新版有挂)...
7分钟科普!wepoker有插... 7分钟科普!wepoker有插件,518互游辅助器下载(2026新版透视开挂辅助教程)1、518互游...
第9分钟了解“呱呱丰城双剑辅助... 第9分钟了解“呱呱丰城双剑辅助”科普开挂辅助插件-真是真的是有挂1)呱呱丰城双剑辅助辅助挂:进一步探...
科技通报!拱趴大菠萝可以开挂“... 科技通报!拱趴大菠萝可以开挂“靠谱开挂透视挂辅助下载”;1.拱趴大菠萝可以开挂 ai辅助创建新账号,...