基于Windows Socket的安全通信(C++实现,附源码)
2016-01-12 20:43
302 查看
原创作品,转载请注明出自xelz's blog
博客地址:http://mingcn.cnblogs.com/
本文地址:http://mingcn.cnblogs.com/archive/2010/11/01/socket_c.html
被标题吸引到的大牛们原谅我吧,我只是菜鸟一只...
言归正传,还是那个课程设计,续昨天的AES加密(http://mingcn.cnblogs.com/archive/2010/10/31/aes_c.html)
今天完成剩下的Socket通信部分(泪奔中...C++小白,MFC那是大白o(╯□╰)o,控件怎么用都不知道)
本来想退而求其次写个Console Application,后来想着最后一次课程设计了,上点心,咬咬牙,开始...
界面(软肋啊,随便搜了点源码,就弄了个Simple Dialog)
图示:红色为控件的ID, 蓝色为映射的变量名
下面要添加Socket通信功能了
先了解一下Socket的相关函数原型
使用Socket的程序在使用Socket之前必须调用WSAStartup函数来绑定Socket库
在Constructor中添加如下代码
应用程序完成对Socket的使用后应当调用WSACleanup函数来释放Socket库占用的系统资源
在析构函数冲添加如下代码
Socket通信流程
实现安全通信,应采用面向连接的TCP/IP协议来保证连接的可靠性
面向连接的套接字的系统调用时序图
添加成员变量及初始化
为“Start/Stop”按钮注册单击事件处理服务器端初始化及关闭操作
接收来自客户端的连接请求
客户端只需要创建Socket并尝试与服务器连接
为“Connect/Disconnect”按钮注册单击事件
用于循环接收信息的线程
为“Send”按钮注册单击事件,处理数据的加密发送
发送和接收的时候都用到了一个函数PrintData,用于将明文或密文以16进制输出以便作演示
贴出的代码都是服务器端的,客户端代码类似,最大区别就是类名不同,不做赘述
运行效果
最后惯例附上源码 Safe_Socket
博客地址:http://mingcn.cnblogs.com/
本文地址:http://mingcn.cnblogs.com/archive/2010/11/01/socket_c.html
被标题吸引到的大牛们原谅我吧,我只是菜鸟一只...
言归正传,还是那个课程设计,续昨天的AES加密(http://mingcn.cnblogs.com/archive/2010/10/31/aes_c.html)
今天完成剩下的Socket通信部分(泪奔中...C++小白,MFC那是大白o(╯□╰)o,控件怎么用都不知道)
本来想退而求其次写个Console Application,后来想着最后一次课程设计了,上点心,咬咬牙,开始...
界面(软肋啊,随便搜了点源码,就弄了个Simple Dialog)
图示:红色为控件的ID, 蓝色为映射的变量名
下面要添加Socket通信功能了
先了解一下Socket的相关函数原型
在Constructor中添加如下代码
在析构函数冲添加如下代码
实现安全通信,应采用面向连接的TCP/IP协议来保证连接的可靠性
面向连接的套接字的系统调用时序图
添加成员变量及初始化
为“Connect/Disconnect”按钮注册单击事件
运行效果
最后惯例附上源码 Safe_Socket
相关文章推荐
- C++中const相关知识
- c++ 设计模式 代理
- 编程小白眼中的KMP-----C++实现
- c语言结构体对齐
- 头插法建立单向链表 C语言实现
- C++的函数重载
- 游戏客户器端通信框架(C++与Socket)
- c++ 使用socket实现C/S端文件的下载传输
- C++ socket编程 实现服务端与客户端的通讯
- C++ primer 第三章 标准库类型
- iOS 学习第六天 C语言 进制转换
- 一个C++面试题目
- C++中Vector清空
- 经验分享:如何成为一名优秀的高级C++程序员?
- C++不确定行为
- C++:面向对象编程(封装、继承、多态等)
- C++智能指针--weak_ptr
- C++的高级用法
- 由基于qml,c++的串口调试工具浅谈qml与c++混合编程
- VS error c2504未定义基类