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.

    谢谢!

  • 相关阅读:
    avalon随笔
    ms-attr-data-real-gold="{{page_data[0].gold}}" 属性付真
    jQuery 快捷操作
    jQuery 属性操作
    jQuery 表单域选中选择器
    jQuery 层次选择器
    jQuery 基本选择器
    jQuery 基本使用
    jQuery 引入多个库文件冲突
    BOM window对象方法
  • 原文地址:https://www.cnblogs.com/lumao1122-Milolu/p/11750365.html
Copyright © 2011-2022 走看看