换位密码的加密策略及程序实现
一、设计题目:多机进程通信
应用Socket进程通信技术编写聊天室程序,实现基于服务器的并发多机信息转发。如果各客户端在线则可以实时聊天、发送接收文件,如果某客户端离线,则发送给他的消息可由服务器端进行内容缓存,待重新连线后可以自动接收通过服务器转发的信息或文件。缓存与转发的控制算法可参考操作系统课程中生产者消费者进程同步方法、缓冲池技术等相关理论。
二、设计思路和功能的详细描述
采用TCP协议,所以属于客户机/服务器模式,因此需要聊天服务器端和聊天客户端两个程序,实现的功能是:任意一台装有客户端程序的计算机都可以通过服务器端的IP地址与服务器相连,然后进入聊天室与连接到服务器的其他客户进行聊天。当客户聊天结束时,可以点断开与服务器断开连接,以释放进程让其他等待的客户进入聊天室,本聊天室最大同时支持50个客户端的连接,如果服务器配置较高可以修改程序来增加同时连接数。
三、采用的方法、技术、运行环境及其配置
本聊天程序采用TCP协议,用VC++编写,属于客户机/服务器模式。采用了多线程的机制。其中使用windows Sockets实现多台计算机(多个进程)间的通信,SOCKET实际在计算机中提供了一个通信端口,可以通过这个端口与任何一个具有SOCKET接口的计算机通信。应用程序在网络上传输,接收的信息都通过这个SOCKET接口来实现。在客户机/服务器模式中客户应用程序向服务器程序请求服务。一个服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户对这个服务的地址提出了连接请求。在这个时刻,服务程序被“惊醒”并且为客户提供服务即对客户的请求作出适当的反应。本聊天程序就是基于这中思想实现的,程序分为两大部分:TCP聊天服务器端和TCP聊天客户端。两者都拥有各自的SOCKET接口,其中服务器端SOCKET接口需要绑定到固定地址上(实现语句:ock=Socket(AF_INET,SOCK_STREAM,0);),等待客户端的连接(实现语句:listen(sock,5);)。等待客户端的连接的过程就是通过多进程机制来实现的。
聊天程序是在VISUAL C++6.0上编译实现的,在WINDOWS2000,XP上测试运行成功。
对客户计算机配置无特殊要求,由于所设置的最大连接进程为50,所以对服务器要求也不高。
四、关键源程序及其详细的注释
<一>、服务器端:
1、Socket初始化
//初始化对话框
BOOL CCSocketDlg::OnInitDialog()
{
count=0;
m_list.InsertColumn(0,"消息");
m_list.SetColumnWidth(0,435);
m_edit.SetLimitText(99);
.
.
.
.
EVC++开发实例之浏览器窗口
破天一剑服务端架设方法
发送短信箱在发送列表中显示所有已发送的短信记录。
l 短信转发:从发送列表中点选某条要转发的短信,点击短信转发按钮后,系统会转入发送短信息界面,输入欲转发的手机号即可转发该条短信。
l 记录删除:在发送列表中选择欲删除的短信,点击记录删除即可删除该条短信。
l 记录清空:删除发送列表中的所有短信记录。
l 刷新:操作员在发送完短信后,需点击刷新按钮才能在接收列表中看到已发送的短信。
本软件主要用到的图像处理技术是:光线补偿、高斯平滑和二值化。在识别前,先对图像进行补光处理,再通过肤色获得可能的脸部区域,最后根据人脸固有眼睛的对称性来确定是否就是人脸,同时采用高斯平滑来消除图像的噪声,再进行二值化,二值化主要采用局域取阈值方法,接下来就进行定位、提取特征值和识别等操作。经过测试,图像预处理模块对图像的处理达到了较好的效果,提高了定位和识别的正确率。
随软件附上设计文档和参考资料。
LL(1)法对布尔表达式的语法分析
其实汉字的显示是非常简单的。只要了解汉字的定位以及字模的含义,我们就可以非常方便的定位到汉字,并读取出字库数据,将其显示出来。在中英文混合显示的 时候,因为GB2312编码的区码与位码都是大于A0的。而基本的ASCII码都是小于A0的。我们可以根据这个信息来区分ASCII码和汉字。
你是否碰到过用启动盘启动系统后用DIR命令得到一串串莫名其妙的字符?有经验的朋友会告诉你:那是汉字。汉字?你不禁会问:怎么一个我一个也不认识。但那确确实实是汉字,如果你启动UCDOS或其他的汉字系统后,就会看到那是一个个熟悉的汉字。同样是汉字,为什么前后会看到不同的结果?呵呵,其实在电脑硬件中,根本没有汉字这个概念,也没有英文的概念,这铁玩意认识的概念只有——内码。
data segment ;定义数据段
关键词:256 级灰度;LED 点阵屏;FPGA;电路设计
s3c2410的USB device的代码ADS1.2. USB-Device测试程序: 因为程序运行在SDRAM中,所以要先初始化SDRAM(可用basic boot程序初始,之后不能复位或断电),再运行此程序,程序运行后连接USB端口,计算机会提示检测到新硬件,安装硬件驱动程序atmusb6119.inf 后计算机会把USB端口虚拟为一个串行的端口使用。
设计目的:通过研究Linux 的进程机制和信号量实现生产者消费者问题的并发控制.
说明:有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1-20这20个整型数.
设计要求:(1)每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容,当前指针位置和生产者/消费者线程的标识符.(2)生产者和消费者各有两个以上.(3)多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码.
提示:(1) 有界缓冲区可用数组实现.
本资源给出了Eclipse下图灵机的完整Java程序源码工程包,开发说明文档中给出了图灵机概要设计,功能实现程序结构剖析,明了易懂,源码导入Eclipse即可使用,无需编译,实用性极强。
功能简述:Java GUI(AWT)生成图灵机工作模型的图形化界面模拟展示,可用于语言的识别,函数的计算,某种语言的产生。具体实现了以下八种常用的图灵机模型如下:
1 二进制数加法 2 二进制计数器 3 二元回文 4 同等数量a和b的识别器 5 3的倍数识别器
6 括号匹配器 7 含有偶数个a的字符串识别器 8 一元至二元转换器