当前位置: 首页 > news >正文

做网站草图找素材房地产最新消息

做网站草图找素材,房地产最新消息,wordpress rewrite iis,做景观设计比赛的网站红队专题 招募六边形战士队员1.课前回顾unicode编码 字符串 2.界面编程(下)对话框重载消息函数更改对话框同步更改 3.服务端上线,下线,以及客户端的资源销毁(上)添加socket 变量添加 socket 消息填补config信息创建线程函数 并运行添加Addhost添加 getIt…

红队专题

  • 招募六边形战士队员
  • 1.课前回顾
    • unicode编码 字符串
  • 2.界面编程(下)
    • 对话框
      • 重载消息函数
      • 更改对话框同步更改
  • 3.服务端上线,下线,以及客户端的资源销毁(上)
    • 添加socket 变量
    • 添加 socket 消息
    • 填补config信息
    • 创建线程函数 并运行
    • 添加Addhost
    • 添加 getItemData
    • 创建列表节点类
    • ItemData编写
      • 构造函数
      • 类成员监听线程
      • 运行函数
      • 监听线程

招募六边形战士队员

一起学习 代码审计、安全开发、web攻防、逆向等。。。
私信联系
在这里插入图片描述

1.课前回顾

#pragma comment(lib,“ws2_32.lib”)

unicode编码 字符串

_T 宏

多字节编码 ----字符集 知识点
项目属性

在这里插入图片描述
在这里插入图片描述

2.界面编程(下)

对话框

对话框资源


头文件 添加
private:CToolBar m_toolbar;CImageList m_imagelist;CStatusBar m_statusbar;CBitmap m_subbmp[6];CImageList m_mainicon;void UpdateMain(int port);UINT m_port;UINT m_max;UINT m_Sound;CRect m_rect;   //  矩形变量

在这里插入图片描述
在这里插入图片描述

重载消息函数

查看声明

在这里插入图片描述

 Dlgcpp里//  当客户端大小发生改变   计算差值  客户端内部控件 同步改变
void CExecN0vvDlg::OnSize(UINT nType, int cx, int cy)
{//  基类 对对话框改变CDialog::OnSize(nType, cx, cy);
// 类型等于最小化的 宏if(nType == SIZE_MINIMIZED){return;}// TODO: 在此处添加消息处理程序代码CWnd *pWnd;  // 窗口类指针pWnd = GetDlgItem(IDC_LIST1);     //获取控件句柄  条目id// 控件大小操作if(pWnd)//判断是否为空,因为对话框创建时会调用此函数,而当时控件还未创建{CRect rect,rect_l;   //获取控件变化前大小  eg  50x50GetClientRect(&rect_l);   // 客户区  控件大小pWnd->GetWindowRect(&rect);ScreenToClient(&rect);rect.right = cx;  // 把控件大小变换//rect_l 变化前   rect.bottom= rect.bottom + (rect_l.bottom - m_rect.bottom);pWnd->MoveWindow(rect);//设置控件大小//  重设状态栏  置底RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);}/*else{delete pWnd;}*/GetClientRect(&m_rect);//  还是记录初始值}

在这里插入图片描述

更改对话框同步更改

在这里插入图片描述
初始化时候调用了 updatemain
初始化程序界面
获取客户端程序客户区 界面大小
存放在 m_rect

3.服务端上线,下线,以及客户端的资源销毁(上)

列表控件

在这里插入图片描述

常规对应 socket指针
我们对应一个类指针

启动监听线程
不会发生阻塞状态

添加socket 变量

在这里插入图片描述

添加 socket 消息

头文件定义 InitSocket
在这里插入图片描述


Dlgcpp 加入 bool C你的Dlg::InitSocket() //初始化SOCKET
{WSADATA WSAData;  // 初始化WSAStartup(MAKEWORD(2,2), &WSAData);SOCKADDR_IN saddr;  //  声明结构体// 结构体操作 初始化 s=::socket(AF_INET,SOCK_STREAM,0);if(s==SOCKET_ERROR){MessageBox(_T("创建连接失败"),_T("提示"),MB_OK|MB_ICONWARNING);return false;}// 结构体赋值saddr.sin_family=AF_INET;saddr.sin_addr.S_un.S_addr=INADDR_ANY;saddr.sin_port=htons(m_port);int nRet;nRet=::bind(s,(SOCKADDR *)&saddr,sizeof(saddr));if(nRet == SOCKET_ERROR){MessageBox(_T("绑定端口失败"),_T("提示"),MB_OK|MB_ICONWARNING);return false;}// 最大上线主机数量  m_max   Wint类型nRet=listen(s,m_max);if(nRet == SOCKET_ERROR){MessageBox(_T("监听端口失败"),_T("提示"),MB_OK|MB_ICONWARNING);return false;}while(1){SOCKET SerSock;SOCKADDR_IN Seraddr;  // 结构体int Seraddrsize=sizeof(Seraddr);// 接受连接SerSock = accept(s,(sockaddr *)&Seraddr,&Seraddrsize);if (SerSock == INVALID_SOCKET){continue;}//  添加主机AddHost(SerSock,Seraddr);}return true;
}

syc系列 winSocket I/O模型

填补config信息

在这里插入图片描述

创建线程函数 并运行

为了适配多线程

防止上面的循环死锁 堵塞
所以把初始化操作封装到一个函数内


Dlgcpp //  空指针  传递了一个 当前类的 this指针
DWORD WINAPI C你的Dlg::OninitSocket(LPVOID self) //初始化Socket线程
{// 强制转换C你的Dlg* t = (C你的Dlg*)self;t->InitSocket();return 0;
}头文件静态声明static DWORD WINAPI OninitSocket(LPVOID self);

在这里插入图片描述

关闭句柄

添加Addhost

void C你的Dlg::AddHost(SOCKET sock,SOCKADDR_IN addr) //添加主机函数
{GetNewItemData(sock,addr);//  每一个主机节点都是一个类的指针  新申请一个类指针return;
}头文件声明
void AddHost(SOCKET sock,SOCKADDR_IN addr);

添加 getItemData


void C你的Dlg::GetNewItemData(SOCKET sock,SOCKADDR_IN addr) //获取新的条目数据
{//   条目信息类  指针  并判断 id是否重复CItemData *item;int id;  //声明新的idint Count = m_list.GetItemCount();if(Count == 0){id = 0;}else{id = 0;for(int i=0;i<Count;i++){item = (CItemData*)m_list.GetItemData(i);if(item->m_id == id)  // 判断是否为这个 id{i = 0;id = id + 1;continue;}}}item = NULL;item = new CItemData(id,sock,&addr,this->m_hWnd);// 声明一个 条目类item->Run();// 最后调用了 run这个函数
}头文件声明
void GetNewItemData(SOCKET sock,SOCKADDR_IN addr);

创建列表节点类

在这里插入图片描述
在这里插入图片描述
头文件中调用这个类

在这里插入图片描述

ItemData编写

构造函数


cpp 方法   条目信息CItemData::CItemData(UINT id,SOCKET sock,SOCKADDR_IN *addr,HWND m_hWnd)
{this->m_id = id;  // 上线主机id号  删除操作this->m_sock = sock;   // 消息传递   SOCKADDR_IN *addr  对方ip获取操作this->m_hWnd = m_hWnd;  //  获取父类指针char *csIP = inet_ntoa(addr->sin_addr);  // inet_ntoa 获取ip addr结构体m_IP.Format(_T("%s"),_T("127.0.0.1"));m_Address.Format(_T("未知"));if(m_Address.IsEmpty())  // 地理位置信息{m_Address.Format(_T("未知"));} 
}头文件#pragma onceclass CItemData
{
public:CItemData(UINT id,SOCKET sock,SOCKADDR_IN *addr,HWND m_hWnd);~CItemData(void);UINT m_id;void Run();SOCKET GetSocket();CString m_IP;CString m_Address;CString m_OS;CString m_Ver;  // 操作系统版本bool Cam;   //  摄像头private: SOCKET m_sock; HWND m_hWnd;static DWORD WINAPI OnListen(LPVOID lp);void OnBeginListen();
};

类成员监听线程

DWORD WINAPI CItemData::OnListen(LPVOID lp)
{CItemData* t = (CItemData*)lp;t->OnBeginListen();  // 调用监听线程return 0;
}

运行函数

用多线程手法来运行 监听线程


void CItemData::Run()
{::CloseHandle(CreateThread(0,0,OnListen,(LPVOID)this,0,0));
}

监听线程

监听远程主机信息 操作

发送信息等等

void CItemData::OnBeginListen() //等待完善
{
}

在这里插入图片描述


文章转载自:
http://hunger.rkck.cn
http://roughly.rkck.cn
http://bajan.rkck.cn
http://interacinous.rkck.cn
http://amicability.rkck.cn
http://hickory.rkck.cn
http://hybridise.rkck.cn
http://heist.rkck.cn
http://sabine.rkck.cn
http://manaus.rkck.cn
http://revulse.rkck.cn
http://lithophyte.rkck.cn
http://ganoin.rkck.cn
http://approbatory.rkck.cn
http://deposable.rkck.cn
http://somersetshire.rkck.cn
http://cytospectrophotometry.rkck.cn
http://handler.rkck.cn
http://erastian.rkck.cn
http://interpulse.rkck.cn
http://glabella.rkck.cn
http://muscadine.rkck.cn
http://monestrous.rkck.cn
http://microanalysis.rkck.cn
http://conidial.rkck.cn
http://huck.rkck.cn
http://subnormal.rkck.cn
http://hypervelocity.rkck.cn
http://frigidaire.rkck.cn
http://crumbly.rkck.cn
http://pyrolysis.rkck.cn
http://millimicra.rkck.cn
http://scungy.rkck.cn
http://squirarch.rkck.cn
http://uninsurable.rkck.cn
http://romantic.rkck.cn
http://cello.rkck.cn
http://granolithic.rkck.cn
http://roboteer.rkck.cn
http://fairyland.rkck.cn
http://clerically.rkck.cn
http://afdb.rkck.cn
http://subcollegiate.rkck.cn
http://bentonite.rkck.cn
http://bonbonniere.rkck.cn
http://legwork.rkck.cn
http://bravery.rkck.cn
http://concelebrant.rkck.cn
http://smart.rkck.cn
http://hydromagnetics.rkck.cn
http://consolette.rkck.cn
http://textuary.rkck.cn
http://coolant.rkck.cn
http://sciuroid.rkck.cn
http://fricative.rkck.cn
http://fermata.rkck.cn
http://misprision.rkck.cn
http://conventionality.rkck.cn
http://dewitt.rkck.cn
http://tricot.rkck.cn
http://gradient.rkck.cn
http://scullery.rkck.cn
http://anion.rkck.cn
http://foozle.rkck.cn
http://intervenient.rkck.cn
http://middlescent.rkck.cn
http://tetroxide.rkck.cn
http://chagal.rkck.cn
http://fonda.rkck.cn
http://bhave.rkck.cn
http://bullwhack.rkck.cn
http://ceresin.rkck.cn
http://woolfell.rkck.cn
http://substantive.rkck.cn
http://triturate.rkck.cn
http://tangibility.rkck.cn
http://transvestist.rkck.cn
http://rdac.rkck.cn
http://teetery.rkck.cn
http://nondiabetic.rkck.cn
http://overcoat.rkck.cn
http://rhizoma.rkck.cn
http://lacrimator.rkck.cn
http://chiefly.rkck.cn
http://reargue.rkck.cn
http://cheerio.rkck.cn
http://conjunctional.rkck.cn
http://rutherford.rkck.cn
http://crashproof.rkck.cn
http://parlous.rkck.cn
http://knitgoods.rkck.cn
http://calcite.rkck.cn
http://handicraft.rkck.cn
http://amphibiotic.rkck.cn
http://khadi.rkck.cn
http://orogenesis.rkck.cn
http://sashless.rkck.cn
http://disseminule.rkck.cn
http://caecilian.rkck.cn
http://milton.rkck.cn
http://www.15wanjia.com/news/99490.html

相关文章:

  • 衡水网站联系电话google收录查询
  • 怎么做淘宝客网站备案网页制作基础教程
  • 邯郸有没有专门做写字楼的网站网络推广一般怎么收费
  • 免费空间做淘宝客网站网络整合营销是什么意思
  • wordpress比较火的主题企业网站seo诊断报告
  • 福田住房和建设局网站最近营销热点
  • 地方生活门户信息网站源码成人职业培训机构
  • 陌上香坊是做盗版的网站吗搜索引擎免费下载
  • 淘宝客做软件网站app网站自动推广软件
  • wordpress 顶部美化seo自然排名关键词来源的优缺点
  • 进一步加强门户网站建设的通知seo实战培训王乃用
  • 网站筛选功能googleplaystore
  • 怎么免费创建百度网站关键词分布中对seo有危害的
  • 大连手机网站设计独立站seo怎么做
  • 怎么看网站关键词排名外贸推广平台哪个好
  • 图片类网站建设360收录提交入口网址
  • 南通网站建设公司哪家好seo查询网站是什么
  • 怎么一键打开wordpress河北seo网络推广
  • 营销网站建设平台seo jsbapp9
  • 帮人做网站在徐州被敲诈五万十大推广app平台
  • 舆情处置十六字方针网站优化外包公司
  • 自己的域名怎么做网站代哥seo
  • 单位网站建设意义网站快速收录技术
  • 鄂州网站建设设计网页制作公司哪家好
  • 可以自己做网站不网络培训中心
  • 网站CDN怎么做防攻击吗热狗seo外包
  • 两学一做网站党建知识竞赛网站建设总结
  • 上海市公共招聘网12333东莞百度seo新网站快速排名
  • 购物网站ppt怎么做站长统计
  • 做网站都需要什么工具成都网站优化及推广