一个基于UDP的网络通迅程序

本文配套源码

我们知道TCP/IP协议是至今发展最为成功的协议之一,也是整个互联网的基础。它在传输层有两个不同的协议:TCP和UDP,用途都很广泛,下面我就UDP做一个示例程序。整个例子有两个程序组成,一个发 送数据,另一个程序接收数据后,完成绘图工作。

本文程序运行效果图如下:


一、发送程序

首先建立数据发送程序(Fason)。一共发送四个数据:圆心的X坐标、圆心的Y坐标、圆半径R、圆的 颜色。它的实现主要如下:

void CFasonDlg::OnSend()
{
  UpdateData(TRUE);
  CString m_Getstring;
  
  this->m_Cob.GetLBText(m_Cob.GetCurSel(),m_Getstring);
  if(m_Getstring==_T("Red"))
  yuan1.color=1;
  if(m_Getstring==_T("Green"))
    yuan1.color=2;
  if(m_Getstring==_T("Blue"))
    yuan1.color=3;
  yuan1.x=m_x;
  yuan1.y=m_y;
  yuan1.r=m_r;
  p=&yuan1;
  CDSocket m_hSocket;
  m_hSocket.Create(2330,SOCK_DGRAM);
  m_hSocket.SendTo( p,sizeof(yuan1),3550,"127.0.0.1");//用结构体发送。
  m_x=0;
  m_y=0;
  m_r=0;
  m_hSocket.Close();
  UpdateData(FALSE);
}

发送数据时有一个技巧,就是所有数据放在一个结构体中来发送,不用一个一个发送。但是不 能在结构体中包含CString等可以变长的数据类型。

二、接收程序

下面我们看一下接收数据端的程序(Jieshou)。如下:

void CDASocket::OnReceive(int nErrorCode)
{
  char buff[256];
  int ret=0;
  ret=Receive(buff,256);
  if(ret==ERROR)
  {
    TRACE("ERROR!");
  }
  else
  m_pDoc->Presscessding(buff);
  class CAsyncSocket::OnReceive(nErrorCode);
}

时间: 2024-08-04 07:46:02

一个基于UDP的网络通迅程序的相关文章

一个基于UDP数据广播的局域网络会议程序

简介: 本文介绍了网络通讯中通用的传输控制协议(TCP)和用户数据包协议(UDP),并 且利用Java语言设计了一个简单的基于UDP 数据广播的局域网络会议程序,展示了 在Java语言中进行UDP 数据发送和接收的一般步骤.由于Java语言卓越的跨平台特 性,本系统能够不加修改的运行在Windows, Linux, Mac OS等一系列不同平台上. 介绍 随着网络技术的普及,网络会议在公司.企业和单位中的应用也越来越广.一 个网络会议系统通常包括一个服务器程序和一个客户端程序.其中服务器端负责进

udp-需要一个java基于UDP协议的文件传输程序

问题描述 需要一个java基于UDP协议的文件传输程序 文件是一个实验数据的文件,是txt个格式的,需要将它传输到指定的IP上 解决方案 server package com.way.server;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundEx

QQ是如何实现网络通迅的?

问题描述 QQ是如何实现网络通迅的,我现在知道是QQ客户端先把信息发送到QQ服务器,那QQ服务器又怎么把信息发送至另一QQ客户端呢,是另一个QQ客户端不停的向服务端发送请求信息,还是由QQ服务器主动发信息到QQ客户端? 解决方案 解决方案二:当然是"主动发送",稍微专业点的说法是"双工通讯",如果你连什么是双工通讯都不知道.你也不必深究了.解决方案三:引用1楼的回复: 当然是"主动发送",稍微专业点的说法是"双工通讯",如果你

mfc初学者,想做一个基于对话框的类似搜索引擎的程序,有没有功能相近源代码借鉴一下

问题描述 mfc初学者,想做一个基于对话框的类似搜索引擎的程序,有没有功能相近源代码借鉴一下 关于注册时的用户名密码怎么存啊,数据库怎么用啊,搜索的文件放哪啊等等问题,不胜感激 解决方案 最简单的是嵌入一个webbrowser控件,链接到网站上. 解决方案二: 建议楼主先参考书籍去MFC 体验一下控件的使用和相关响应函数的编写吧,先动手操作再想思路 解决方案三: 先学好基础再想做实际程序,数据库怎么用这些不是一两句话能说清楚的

哎哎哎!急-请求大神帮忙用JAVA写一个基于UDP的语音聊天系统

问题描述 请求大神帮忙用JAVA写一个基于UDP的语音聊天系统 有报酬!!?谢谢!!急急 解决方案 有报酬,两个馒头.呵呵...... UDP 实际简单,但语音部分还是有一些工作量的.

在link环境中制作一个基于codefirst《网盘软件》,请问如何防止用户恶意上传?

问题描述 在link环境中制作一个基于codefirst<网盘软件>,请问如何防止用户恶意上传? 在link环境中制作一个基于codefirst<网盘软件>,请问如何防止用户恶意上传? 解决方案 这个简单,一个是加上验证码,可以防止机器自动提交http://jingyan.baidu.com/article/2fb0ba4057ee5600f3ec5f73.htmlhttp://www.360doc.com/content/13/0220/11/10504424_266707831

link环境中,制作一个基于codefirst的网盘,如何在文件前加上图示?

问题描述 link环境中,制作一个基于codefirst的网盘,如何在文件前加上图示? link环境中,制作一个基于codefirst的网盘,如何在文件前加上图示? 解决方案 可以根据后缀名判断,Path.GetExtention事先将图标放在服务器上

document-scanner 一个基于 OpenCV 的文档扫描程序(从现在开始直到完成)

document-scanner -- 一个基于 OpenCV 的文档扫描程序 document-scanner 则是一个基于 OpenCV + Python 开发的文档扫描程序,强烈建议阅读我的博客以便更好理解本文: http://vipulsharma20.blogspot.on 真诚的感谢下面这篇文字以及作者:  http://www.pyimagesearch.com/2014/09/01/build-kick-ass-mobile-document-scanner-just-5-min

在Azure上构建一个基于Facebook的营销式应用程序(中)(1)

本文接如何将基于Facebook营销式应用程序创建在Azure 基于Facebook营销式应用程序在Canvas页面上,会映射到这个应用程序.在Azure上的base URL(例如:http://azurefacebooksample.cloudapp.net/)这是一个展示初始的联系信息的窗体.下面就是如何展示联系信息的步骤: Listing 1 [CanvasAuthorize(Perms = "user_birthday")] public ActionResult Index(