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