websocket初探

本文介绍了作者在Windows环境下使用C++手动实现WebSocket的历程。首先,由于Linux上有丰富的SDK,但在Windows上需要自行编写,作者决定从头开始。文章详细讲述了WebSocket的基本原理,包括如何选择Chrome作为客户端,搭建简单的服务器端,并着重讲解了握手协议的过程,包括服务器如何验证客户端的Key并返回响应。最后,作者提醒在处理消息时要注意协议报文的格式,并分享了自己的代码链接供读者参考。
摘要由CSDN通过智能技术生成

websocket初探

黑夜啊,一无所有,请给我一点灵感!

麻蛋,我又不能做湿人!

websocket是什么,我就不介绍了,能看到这篇文章的,都是会用Google的人咯。

本来好好的一个东西,Linux上很多好用的SDK,偏偏本人最近接到的项目却是windows上的,还是C++的,还要支持快速开发,你看看libwebsockets、websocket++,什么Nodejs我就提提而已,我都用不了啦!

自己手动写吧!

对于协议这种,自己手动写,我也是小白,所以,你懂的咯。
websocket的原理,很多资料的,基本了解之后,就知道我们第一步要做的事情就是找一个支持websocket的浏览器作为客户端,什么firefox、chrome都是可以的。
第二步,老老实实写个简单的server端,用socket监听一个可用的端口。就像这样吧:

    WSADATA wsaData;    
    if (WSAStartup(MAKEWORD(2,2), &wsaData) != NO_ERROR)// Initialize Winsock
        printf("Error at WSAStartup()\n");
    //create the SOCKET
    listenfd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);   

    struct sockaddr_in server = { 0 };
    server.sin_family = AF_INET;    
    server.sin_addr.s_addr = inet_addr(_host);
    server.sin_port = htons((u_short)atoi(_port));

    // Bind the socket.
    if (bind( listenfd, (SOCKADDR*)&server, sizeof(server)) == SOCKET_ERROR) 
    {
        printf("Error on server bind.\n");
        return;
    }       
    if
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值