`
chenhongwei0924
  • 浏览: 43008 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

udp

 
阅读更多
因为要测试一个GPRS的UDP上传功能,于是在Windows下写了这个UDP测试小程序.
Server 端程序源代码:
#include <stdio.h>
#include <Winsock2.h>

void main()
{
SOCKET socket1;

//InitWinsock();
WSADATA wsaData;
     int iErrorCode;
     if (WSAStartup(MAKEWORD(2,1),&wsaData)) //调用Windows Sockets DLL
     {
          printf("Winsock无法初始化!\n");
          WSACleanup();
          return;
     }

     printf("服务器开始创建SOCKET。\n");
struct sockaddr_in local;
struct sockaddr_in from;
int fromlen =sizeof(from);
local.sin_family=AF_INET;
local.sin_port=htons(27015); ///监听端口
local.sin_addr.s_addr=INADDR_ANY; ///本机

socket1=socket(AF_INET,SOCK_DGRAM,0);
bind(socket1,(struct sockaddr*)&local,sizeof(local));
while (1)
{
char buffer[1024]="\0";
printf("waiting for message from others-------------\n");
if (recvfrom(socket1,buffer,sizeof(buffer),0,(struct sockaddr*)&from,&fromlen)!=SOCKET_ERROR)
{
printf("Received datagram from %s--%s\n",inet_ntoa(from.sin_addr),buffer);
////给 cilent发信息
sendto(socket1,buffer,sizeof(buffer),0,(struct sockaddr*)&from,fromlen);

}
//Sleep(1000);
}
closesocket(socket1);
}



Client 端源代码:



#include <stdio.h>
#include <Winsock2.h>

void main()
{
SOCKET socket1;
//InitWinsock();
WSADATA wsaData;
     int iErrorCode;
     if (WSAStartup(MAKEWORD(2,1),&wsaData)) //调用Windows Sockets DLL
     {
          printf("Winsock无法初始化!\n");
          WSACleanup();
          return;
     }

printf("服务器开始创建SOCKET。\n");
struct sockaddr_in server;
int len =sizeof(server);
server.sin_family=AF_INET;
server.sin_port=htons(27015); ///server的监听端口
server.sin_addr.s_addr=inet_addr("221.223.16.32"); ///server的地址

socket1=socket(AF_INET,SOCK_DGRAM,0);
while (1)
{
     char buffer[1024]="\0";
     printf("input message\n");
     scanf("%s",buffer);
//     printf("%s",buffer);
     if (strcmp(buffer,"bye")==0)
     {
         printf("退出!\n");
         Sleep(100);
         closesocket(socket1);
         break;
     }

     if (sendto(socket1,buffer,sizeof(buffer),0,(struct sockaddr*)&server,len)!=SOCKET_ERROR)
     {
         //printf("sending..\n");
         Sleep(100);
         if (recvfrom(socket1,buffer,sizeof(buffer),0,(struct sockaddr*)&server,&len) != SOCKET_ERROR)
         printf("rece from server:%s\n",buffer);
     }
     }
     closesocket(socket1);
}


至于功能,看看源代码就知道了,以上的源代码编译调试工作正常
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    摄像头udp传输 摄像头udp传输

    摄像头udp传输摄像头udp传输摄像头udp传输摄像头udp传输摄像头udp传输摄像头udp传输摄像头udp传输摄像头udp传输摄像头udp传输摄像头udp传输摄像头udp传输摄像头udp传输摄像头udp传输摄像头udp传输摄像头udp传输...

    网络UDP调试工具 UDP客户端 UDP服务端 Socket通讯

    网络UDP调试工具是一款专为IT专业人士设计的实用软件,它主要功能是协助用户进行UDP(User Datagram Protocol)网络通信的调试和测试。UDP是一种无连接的传输层协议,相较于TCP,它提供了更低延迟和更高效率的数据...

    UDP.rar_as3 udp_flash as3.0 UDP_flash发送udp_udp as3_windows as3.0

    这个"UDP.rar_as3 udp_flash as3.0 UDP_flash发送udp_udp as3_windows as3.0"的压缩包,看起来包含了一个名为"UDP.fla"的文件,这是一个Flash的源文件,可能是一个AS3的项目,用于演示或教学如何在Flash中使用UDP...

    欧姆龙通讯.zip_FINS_UDP fins_UDP FINS_欧姆龙UDP_欧姆龙udp通讯

    《欧姆龙通讯.zip——FINS UDP协议与PLC链接详解》 在工业自动化领域,欧姆龙(Omron)PLC(可编程逻辑控制器)因其稳定性和灵活性被广泛使用。其中,FINS(Factory Integrated Network System)协议是欧姆龙网络...

    串口转UDP 工具 udp服务器

    串口通信和UDP(用户数据报协议)是两种在计算机网络中常见的通信方式,它们各自具有独特的特性和应用场景。在本文中,我们将深入探讨这两种通信方式,并了解如何将串口数据转换为UDP数据,以便在没有物理DTU(数据...

    UDP协议中的 UDP Flood 攻击详细讲解

    UDP Flood攻击作为DDoS攻击的一种,虽然利用的是UDP协议的特点,但其危害不容忽视。本文将详细介绍UDP Flood攻击,并结合华为的Anti-DDoS解决方案,深入探讨如何有效防御这类攻击。 首先,UDP协议是一种无连接的...

    matlab udp 广播通信_广播_UDP_matlab_matlabudp广播_通信_

    在MATLAB中实现UDP广播通信是一项实用的技能,特别是在进行分布式系统开发或者网络测试时。UDP(User Datagram Protocol)是一种无连接的传输层协议,它提供了简单高效的数据传输方式,适用于实时数据传输或对丢包不...

    UDP-UE5.3 UDP-UE5.3

    UDP(User Datagram Protocol)是互联网协议族中的一种无连接、不可靠的传输协议,与TCP(Transmission Control Protocol)相比,它的设计更为简单,主要适用于对实时性要求高的应用,如在线游戏、视频会议等。...

    Qt_UDP通信,qt实现udp通信,C,C++

    在IT领域,网络通信是软件开发中的重要组成部分,而UDP(User Datagram Protocol)是一种无连接的、不可靠的传输协议,常用于实时性要求较高的应用,如在线视频、语音通话等。Qt是一个跨平台的C++图形用户界面应用...

    0061+TCP+UDP网络调试助手含源码.zip_UDP c++源码_UDP 调试助手_tcp 网络 c#_udp 网络调试_

    《TCP与UDP网络调试助手:深入理解C++与C#实现》 在计算机网络通信领域,TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是两种广泛应用的传输层协议。TCP以其可靠性和有序性,广泛用于需要...

    UDP 数据转发工具

    UDP(User Datagram Protocol)是一种无连接的、不可靠的传输层协议,它是互联网协议套件的一部分,主要用于实时数据传输,如音频、视频流媒体或在线游戏等场景。UDP数据转发工具则是利用UDP协议特性实现数据包从一...

    泥人W5500模块-UDP模式例程.rar_893_W5500UDP组播_w5500_w5500 UDP组播_writersfn

    在本文中,我们将深入探讨如何使用W5500模块在UDP模式下实现与上位机的通信。W5500是一款集成了SPI接口的以太网控制器,广泛应用于嵌入式系统中,提供了全硬件TCP/IP协议栈,使得在微控制器中实现网络通信变得更加...

    udp是不可靠的会丢包,如何查看udp丢包数、丢包率

    UDP(User Datagram Protocol)是一种无连接的传输层协议,它不提供像TCP那样确认数据包发送、重传丢失包或确保顺序传输的功能。因此,在使用UDP进行通信时,丢包现象是可能出现的。为了监控和分析UDP通信的丢包情况...

    tcpudp 2.1.1 TCP/UDP 调试软件

    TCP/IP协议是互联网通信的基础,其中TCP(传输控制协议)和UDP(用户数据报协议)是两种主要的传输层协议。TCP提供了一种可靠的数据传输服务,它通过序列化、确认、重传等机制确保了数据的准确无误地到达目的地。而...

    UDPSender发包器工具

    UDPSender是一款强大的UDP(User Datagram Protocol)测试和压力测试工具,主要针对网络通信性能进行评估。UDP是一种无连接的、不可靠的传输层协议,常用于需要高速传输但对数据完整性要求不高的应用,如在线游戏、...

    udp server client demo

    UDP(User Datagram Protocol)是一种无连接的、不可靠的传输层协议,相比TCP,它具有更低的延迟和更高的效率,适合于对实时性要求较高的应用,例如在线视频、语音通话等。在这个“udp server client demo”中,我们...

    c# wpf 界面UDP通讯

    在C#和WPF(Windows Presentation Foundation)的环境中构建UDP通信是常见的任务,尤其是在开发实时性和性能要求较高的应用时。本教程将详细讲解如何在WPF界面中实现一个高效的UDP通信系统,确保程序运行时界面无假...

    UDP校验和算法

    UDP校验和算法是网络通信中确保数据包完整性和正确性的一种重要机制,尤其是在无连接的UDP(User Datagram Protocol)协议中,由于其不提供可靠传输的保障,校验和的作用就显得尤为关键。本文将深入解析UDP校验和...

    MAC UDP调试工具

    UDP(User Datagram Protocol)是一种无连接的、不可靠的传输层协议,常用于实时数据传输,如音频、视频流或在线游戏。在MAC操作系统中,进行UDP调试是开发者和网络管理员排查问题、测试网络通信的重要手段。本文将...

    vb UDP广播示例

    在VB6中,我们可以使用内置的Socket控件来实现UDP(User Datagram Protocol)广播功能。UDP是一种无连接的、不可靠的传输协议,适用于需要高效传输、实时性要求较高的场景,如网络发现和多播通信。 以下是一个关于...

Global site tag (gtag.js) - Google Analytics