zoukankan      html  css  js  c++  java
  • 网络编程socket套接字及其使用(二)

    这里给出一个最简单的网络编程入门实例----消息发送机制(基于Visual C++)。

    当用户在对话框中输入字符后,回车,则将输入字符显示在应用程序中,步骤如下:

    1. 新建---项目----MFC App---Single document----Windows Scokets---Finish.
    2. 在IDD_ABOUTBOX对话框中添加编辑对话框控件,并为该控件添加CString类型成员变量---m_edit;
    3. Insert----New Class添加Socket类,名称mysock基于CSocket类.
    4. 为mysock类添加消息成员函数OnReceive.
    5. 为该函数添加如下代码:
    6.  1 /////////////////////////////////////////////////////////////////////////////
       2 // mysock member functions
       3 char aa[100];
       4 CString mm;
       5 CDC* pdc;
       6 void mysock::OnReceive(int nErrorCode) 
       7 {
       8     static unsigned int Line=0;
       9     // TODO: Add your specialized code here and/or call the base class
      10     CSocket::Receive((void*)aa,100,0);
      11     mm=aa;
      12     pdc->TextOut(0,Line,mm);
      13     Line+=20;
      14     CSocket::OnReceive(nErrorCode);
      15 }
    7. 为CAboutDlg类添加消息成员函数OnKillFocus,添加如下代码:
    8.  1 /////////////////////////////////////////////////////////////////////////////
       2 // CQQApp message handlers
       3 
       4 extern CString bb;
       5 void CAboutDlg::OnKillFocus(CWnd* pNewWnd) 
       6 {
       7     CDialog::OnKillFocus(pNewWnd);
       8     
       9     // TODO: Add your message handler code here
      10     bb=m_edit;
      11 }
    9. 为CxxView添加消息成员函数:OnCreate,和OnSetFocus,分别为这两函数添加如下代码:
    10.  1 /////////////////////////////////////////////////////////////////////////////
       2 // CQQView message handlers
       3 extern CDC* pdc;
       4 mysock sock1;
       5 CString bb;
       6 int CQQView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
       7 {
       8     if (CView::OnCreate(lpCreateStruct) == -1)
       9         return -1;
      10     
      11     // TODO: Add your specialized creation code here
      12     sock1.Create(5050,SOCK_DGRAM,NULL);
      13     static CClientDC wdc(this);
      14     pdc=&wdc;
      15     return 0;
      16 }
      17 
      18 void CQQView::OnSetFocus(CWnd* pOldWnd) 
      19 {
      20     CView::OnSetFocus(pOldWnd);
      21     
      22     // TODO: Add your message handler code here
      23     bb="milo:"+bb;
      24     sock1.SendTo(bb,100,5050,"192.168.222.111",0);//IPv4 Address
      25 }
    11. 编译运行该实例:

    End.

    谢谢!

  • 相关阅读:
    泛型
    Abp SSO
    Abp 添加权限项<一>
    自定义策略-简单实践 <一>
    RabbitMq 开始<一>
    Abp 领域事件简单实践 <四> 聚合根的领域事件
    Abp 领域事件简单实践 <三> 自定义事件
    1.CentOS7安装教程
    深入浅出JSONP--解决ajax跨域问题
    设置MySQL客户端连接使用的字符集
  • 原文地址:https://www.cnblogs.com/lumao1122-Milolu/p/11750365.html
Copyright © 2011-2022 走看看