- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实战2012高技术的Hacker黄今天无私的教大家利用C++的MFC做局域网的QQ软件
QQ很难吗?C++很难吗?MFC很难吗?做个软件很难吗?答案是不难,因为今天高技术的Hacker黄今天教大家利用C++的MFC做局域网的QQ软件。废话少说,现在直接带领大家实战做个局域网的QQ软件用C++。
事件 2012年11月14号夜晚,湖北大学实验室,实验结果做出一个如下截图的QQ软件 事件发起人 hacker黄
下面为了大家更好的理解实战类容,
首先 我将按逻辑的将本次试验叙述下来,不怕不懂,我将把每一步的截图和代码打出来,大家只需要看着截图,结合代码就行了哦
哈哈 施展正式开始:
第一 做局域网QQ界面
打开vc6.0新建一个工程文件
第二 选择对话框,点击界面接好了
第三 删去对话框中的初始控件,
第三 添加一个组框控件截图如下
第四 设置组框组建的属性截图如下,并将其CAPTION属性设置为接收数据截图如下
第五 添加一个编辑框控件并设置其属性截图如下,并将其ID号吗改为IDC_EDIT_RECV截图如下用来显示用户接收到的数据
第六 再次添加一个组框并将其属性设置为发送数据
第七 在发送数据组框添加一个IP控件
第八 在选择一个一个编辑框控件,并设置其ID号,用来放松疏忽需要发送的数据
截图如下
第九添加一个发送的按钮,并将其ID号吗改为IDC_BTN_SEND
第十 展示最终的C++MFCQQ界面截图如下
第十一 加载套接字库截图如下,并添加代码如下
补加的的代码如下
if(!AfxSocketInit())
{
AfxMessageBox(加载套接字库失败);
return FALSE;
}
第十二 增加一头文件,截图及代码如下
代码如下
#includeAfxsock.h
第十三 增加一个成员变量的函数及代码
第十四 增加一个成员变量并将其权限设为私有
截图如下
第十五 在初始化套接字函数中输入初始化相关代码
m_socket=socket(AF_INET,SOCK_DGRAM,0);
if(INVALID_SOCKET==m_socket)
{
MessageBox(套接字失败);
return FALSE;
}
SOCKADDR_IN addrSock;
addrSock.sin_family=AF_INET;
addrSock.sin_port=htons(6000);
addrSock.sin_addr.S_un .S_addr =htonl(INADDR_ANY);
int retval;
retval=bind(m_socket,(SOCKADDR*)addrSock,sizeof(SOCKADDR));
if(SOCKET_ERROR==retval)
{
closesocket(m_socket);
MessageBox(绑定失败);
return FALSE;
}
return TRUE;
第十六 调用初始化套接字函数 在ONITDIALOG
InitSocket();
到此套接字的初始化工作全部完成了
第十七 开始编写接收端的程序 创建线程函数及代码如下首先定义一个结构体
struct RECVPARAM
{
SOCKET sock;
HWND hwnd;
};
第十八 在ONINITDIAG中创建一个指针
RECVPARAM *pRecvParam=new RECVPARAM;
pRecvParam-sock=m_socket;
pRecvParam-hwnd=m_hWnd;
HANDLE hThread=CreateThread(NULL,0,RecvProc,(LPVOID)pRecvParam,0,NULL);
CloseHandle(hThread);
第十九 开始写线程函数,现增加一个成员函数以相关代码,如下
第二十修还代码中的2个地方分别是
如下
第二十一 再次运行又有一个错误在改正,这次是变函数为静态变量
第二十二 再创建的函数中输入相关代码,及服务端主要的代码
SOCKET sock=((RECVPARAM*)IpParameter)-sock;
HWND hwnd=((RECVPARAM*)IpParameter)-hwnd;
SOCKADDR_IN addrFrom;
int len =sizeof(SOCKADDR);
char recvBuf[200];
char tempBuf[300];
int retval;
while(TRUE)
{
retv
您可能关注的文档
- 58KBC散货船铁舾设计.doc
- 厂房弱电系统设计方案.doc
- 电子商务系统规划报告.doc
- 电子秒表课程设计报告.doc
- 基于GPIO的LED流水灯设计.doc
- sqlserver数据库课程设计论文.doc
- 液压传动机械手的结构设计.doc
- 八路抢答器数电程序设计.doc
- 安全人机工程校内餐厅的人机学分析及改进方案.doc
- PLC控制的五层楼交流双速电梯系统.doc
- 2024年小学教师工作计划模板(八篇) .pdf
- 2024年药学类之药学(师)题库检测试卷B卷附答案 .pdf
- 2024年必威体育精装版仁爱版五年级数学(上册)期中考卷及答案(各版本) .pdf
- 2024年高中生个人职业生涯规划 .pdf
- 2024年法律职业资格之法律职业客观题二题库与答案 .pdf
- 2024年资产评估师之资产评估基础真题练习试卷B卷附答案 .pdf
- 2024年度社工(初级)《社会工作实务(初级)》考试典型题题库及答案.pdf
- 2024年新员工下半年工作计划范文(3篇) .pdf
- 2024年律师委托代理合同标准版本(三篇) .pdf
- 2024年股权抵押借款合同范本(4篇) .pdf
文档评论(0)