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.

    谢谢!

  • 相关阅读:
    Address already in use: JVM_Bind 端口被占
    Excel PDF预览 excel导出
    js 判断日期是否节假日
    2020 idea的RunDashboard怎么显示出来
    sql server if else
    IDEA热部署总是失败的解决
    java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
    IOS开发 strong,weak,retain,assign,copy nomatic 等的区别与作用
    NSOperationQueue与GCD的使用原则和场景
    View加载过程
  • 原文地址:https://www.cnblogs.com/lumao1122-Milolu/p/11750365.html
Copyright © 2011-2022 走看看