资源简介
所传文档为MFC的SOCKET协议与HTML5里的WEBSOCKET协议之间的通信连接,发送和读写都没有什么问题,另外附带有一个C#的websocket库,库不是开源的,网上也有详细介绍,如果想用C++这块的可以看看,有什么问题可以直接留言,看到后会尽快帮忙解答。
代码片段和文件信息
/*
base64.cpp and base64.h
Copyright (C) 2004-2008 René Nyffenegger
This source code is provided ‘as-is‘ without any express or implied
warranty. In no event will the author be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose
including commercial applications and to alter it and redistribute it
freely subject to the following restrictions:
1. The origin of this source code must not be misrepresented; you must not
claim that you wrote the original source code. If you use this source code
in a product an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such and must not be
misrepresented as being the original source code.
3. This notice may not be removed or altered from any source distribution.
René Nyffenegger rene.nyffenegger@adp-gmbh.ch
*/
#include “StdAfx.h“
#include “base64.h“
#include
static const std::string base64_chars =
“ABCDEFGHIJKLMNOPQRSTUVWXYZ“
“abcdefghijklmnopqrstuvwxyz“
“0123456789+/“;
static inline bool is_base64(unsigned char c) {
return (isalnum(c) || (c == ‘+‘) || (c == ‘/‘));
}
std::string base64_encode(unsigned char const* bytes_to_encode unsigned int in_len) {
std::string ret;
int i = 0;
int j = 0;
unsigned char char_array_3[3];
unsigned char char_array_4[4];
while (in_len--) {
char_array_3[i++] = *(bytes_to_encode++);
if (i == 3) {
char_array_4[0] = (char_array_3[0] & 0xfc) >> 2;
char_array_4[1] = ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4);
char_array_4[2] = ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6);
char_array_4[3] = char_array_3[2] & 0x3f;
for(i = 0; (i <4) ; i++)
ret += base64_chars[char_array_4[i]];
i = 0;
}
}
if (i)
{
for(j = i; j < 3; j++)
char_array_3[j] = ‘\0‘;
char_array_4[0] = (char_array_3[0] & 0xfc) >> 2;
char_array_4[1] = ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4);
char_array_4[2] = ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6);
char_array_4[3] = char_array_3[2] & 0x3f;
for (j = 0; (j < i + 1); j++)
ret += base64_chars[char_array_4[j]];
while((i++ < 3))
ret += ‘=‘;
}
return ret;
}
std::string base64_decode(std::string const& encoded_string) {
size_t in_len = encoded_string.size();
int i = 0;
int j = 0;
int in_ = 0;
unsigned char char_array_4[4] char_array_3[3];
std::string ret;
while (in_len-- && ( encoded_string[in_] != ‘=‘) && is_base64(encoded_string[in_])) {
char_array_4[i++] = encoded_string[in_]; in_++;
if (i ==4) {
for (i = 0; i <4; i++)
char_array_4[i] = base64_chars.find(char_array_4[i]);
char_array_3[0] = (char_array_4[0] << 2) + ((
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 238080 2016-11-20 19:41 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\Debug\TCPSever.exe
文件 2259124 2016-11-20 19:41 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\Debug\TCPSever.ilk
文件 8687616 2016-11-20 19:41 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\Debug\TCPSever.pdb
文件 3760 2012-11-28 11:28 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\ba
文件 136 2012-03-18 14:41 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\ba
文件 164944 2016-11-17 15:35 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\ba
文件 19422 2016-11-17 15:35 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\sha1.obj
文件 932828 2016-11-17 09:54 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\stdafx.obj
文件 2240 2016-11-20 19:41 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\TCPSever.log
文件 198543 2016-11-17 15:35 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\TCPSever.obj
文件 49152000 2016-11-17 09:54 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\TCPSever.pch
文件 70000 2016-11-17 11:16 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\TCPSever.res
文件 5862 2016-11-20 19:41 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\TCPSever.tlog\cl.command.1.tlog
文件 103290 2016-11-20 19:41 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\TCPSever.tlog\CL.read.1.tlog
文件 4296 2016-11-20 19:41 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\TCPSever.tlog\CL.write.1.tlog
文件 5256 2016-11-20 19:41 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\TCPSever.tlog\li
文件 10042 2016-11-20 19:41 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\TCPSever.tlog\li
文件 1280 2016-11-20 19:41 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\TCPSever.tlog\li
文件 1114 2016-11-17 11:16 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\TCPSever.tlog\rc.command.1.tlog
文件 3256 2016-11-17 11:16 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\TCPSever.tlog\rc.read.1.tlog
文件 290 2016-11-17 11:16 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\TCPSever.tlog\rc.write.1.tlog
文件 213 2016-11-20 19:41 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\TCPSever.tlog\TCPSever.lastbuildstate
文件 298812 2016-11-20 19:41 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\TCPSeverDlg.obj
文件 3066880 2016-11-20 19:41 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\vc120.idb
文件 9261056 2016-11-20 19:41 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\Debug\vc120.pdb
文件 3880 2016-08-28 09:44 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\ReadMe.txt
文件 67777 2013-07-22 01:18 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\res\TCPSever.ico
文件 672 2016-08-28 09:44 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\res\TCPSever.rc2
文件 1970 2016-08-28 10:08 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\resource.h
文件 13014 2012-11-28 11:27 MFC_SOCKET与HTML5_WebSocket通信\TCPSever\TCPSever\sha1.cpp
............此处省略29个文件信息
- 上一篇:VC一个很简单的屏保程序MFC
- 下一篇:grid+report5.6锐浪报表无水印
相关资源
- VC一个很简单的屏保程序MFC
- MFC界面设计小型点餐系统
- ffplay for MFC 1.1 源代码
- MFC键盘监视器
- vc++ MFC 背单词软件毕业设计系统源代
- MFC__快捷菜单管理器
- MFC最小化至系统托盘源码
- 读取图片并显示的MFC程序
- MFC贪吃蛇完美运行
- MFC实现TCP数据传输
- 停车场管理系统 MFC 数据结构课程设计
- mfc绘制二维坐标系和波形图
- MFC大作业 学生管理系统(附报告)
- 用C++/MFC实现P2P和群聊功能的聊天小软
- 对话框 mfc 绘制坐标轴
- C/S架构文件传输,socket实现C++完整代
- MFC的UDP广播实验程序
- MFC商品销售管理系统
- MFC谷歌离线地图
- basler相机的MFC框架demo
- MFC 基于SMTP POP3协议 写的邮件收发
- 算法与数据结构课件及源代码
- 兄弟 MFC 8530DN 8535DN 8540DN中文维修手册
- VC+MFC实现真实感图形(正方体+菊花)
-
MFC 通过CDataba
se连接Syba se数据库向 - 基于MFC 对话框 的数据库 正删改查简
- MFC实现Static控件双击最大化,再双击
- mfc 同步移动两个窗口
-
MFC嵌入CEF(ja
vasc ript 调用 C++ 函数 - MFC/VC++字符串与十六进制码之间互相转
评论
共有 条评论