• 网络编程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.

    谢谢!

  • 相关阅读:
    在Linux上使用C语言编程获取IPv4地址及子网掩码
    使用gdb进行写操作
    [中英对照]The Art Of Reporting Bugs | 报bug的艺术
    [中英对照]Introduction to Remote Direct Memory Access (RDMA) | RDMA概述
    Intel万兆网卡背靠背连接ping不通那点事儿
    [中英对照]The sysfs Filesystem | sysfs文件系统
    图说单播,组播,广播,选播和地域播
    Ubuntu双网卡不双待攻略
    反汇编容易反编译难
    PHP之路——微信公众号授权获取用户信息
  • 原文地址:https://www.cnblogs.com/lumao1122-Milolu/p/11750365.html
Copyright © 2020-2023  润新知