您的位置:首页 > 编程语言 > C语言/C++

基于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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: