基于UDP的socket编程是采用的数据报套接字

UDP套接字服务器客户端及丢包率测试 源码及实验报告 (1)UDP循环服务器 (2)UDP并发服务器 (3)UDP丢包率测试 立即下载

基于UDP的socket编程是采用的数据报套接字。

在这个程序中,将两个工程添加到一个工作区。同时还要链接一个ws2_32.lib的库文件。

服务器端编程的步骤:

1:加载套接字库,创建套接字(WSAStartup()/socket());

2:绑定套接字到一个IP地址和一个端口上(bind());

3:等待和接收数据(sendto()/recvfrom());

4:关闭套接字,关闭加载的套接字库(closesocket()/WSACleanup())。

服务器端代码如下:

#include <winsock2.h>
#include <stdio.h>

void main()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;

wVersionRequested = MAKEWORD( 1, 1 );

err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 )
{
   return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
         HIBYTE( wsaData.wVersion ) != 1 )
{
   WSACleanup( );
   return;
}

SOCKET sockSrv=socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(7003);

bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));

char recvBuf[50];
SOCKADDR addrClient;
int len=sizeof(SOCKADDR);
recvfrom(sockSrv,recvBuf,50,0,(SOCKADDR*)&addrClient,&len);
printf("%s/n",recvBuf);

closesocket(sockSrv);
WSACleanup();
}

对于基于UDP的socket客户端来说,要进行如下步骤:

1:创建一个套接字(socket);

2:向服务器发送数据(sendto);

3:关闭套接字;

代码如下:

#include <winsock2.h>
#include <stdio.h>

void main()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;

wVersionRequested = MAKEWORD( 2, 2 );

err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
   return;
}
if ( LOBYTE( wsaData.wVersion ) != 2 ||
         HIBYTE( wsaData.wVersion ) != 2 ) {
   WSACleanup( );
   return;
}
SOCKET sockClient=socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN addrClient;
addrClient.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
addrClient.sin_family=AF_INET;
addrClient.sin_port=htons(8889);
SOCKADDR_IN addrSrv;
sendto(sockClient,"hi",3,0,(SOCKADDR*)&addrClient,sizeof(SOCKADDR));
}

socket实现客户端与服务器端UDP传输 设计一个HTTP的客户端,使用Post方法提交用户名和密码数据,其中用户名域username密码域password。 立即下载

相关推荐

Python爬虫实战:5分钟搞定大众点评评论数据抓取(附完整代码)

本文详细介绍了使用Python爬虫高效获取大众点评评论数据的5个关键技巧,包括环境配置、智能页面解析、反反爬策略、数据存储与容错设计以及性能优化。通过实战案例和完整代码,帮助开发者快速掌握文本挖掘技术,适用于市场分析和商业决策。

weixin_30660027的博客 290

网络编程【UDP数据报套接字编程】

网络编程,指网络上的主机,通过不同的进程,以编程的方式实现网络通信(或称为网络数据传输)。 Socket套接字,是由系统提供用于网络通信的技术,是基于TCP/IP协议的网络通信的基本操作单元。 UDP数据报套接字编程

m0_72161237的博客 968

豆包大模型API调用两种方法

ps: 因为是自用,所以这里图方便采用硬编码密钥的形式;如果有需求/安全风险,建议参考官方教程设置ARK_API_KEY环境变量的方式。坏处是:看别人的教程走了一大圈弯路hh;基础调用的话方法一就可以满足了,也比较方便快捷,容易上手。将 <Model> 替换为 Endpoint ID即可。创建就按照提示填写信息就行,需要实名认证,有免费额度。绿框框里就是Endpoint ID。

kkkkkkkkkasey的博客 1万+

网络编程——UDP套接字

简单介绍UDP套接字相关接口如何使用,以及一些细节问题

weixin_57371426的博客 1260

C# 读取图片和扫描PDF中的文本

本博客将探讨如何使用C#和OCR库实现从图片和扫描的 PDF 中提取文本。Spire.OCR for .NET 是一个OCR文字识别库,专为在 .NET 应用程序中识别图片的文本而设计。首先,使用 Spire.PDF 将扫描的 PDF 转换为图片,然后利用 Spire.OCR 从这些图片中提取文本。由于该OCR库并不支持直接处理PDF,因此要从扫描的 PDF 中提取文本,我们首先需要将 PDF 文档转换为图片。转换完成后,再利用 Spire.OCR 从生成的图片中提取文本。方法来识别图片中的文本。

nuclear2011的博客 5401

微信小程序后台定位与实时位置更新的实战指南

本文提供了微信小程序实现后台定位与实时位置更新的完整实战指南。针对小程序退到后台后位置更新中断的痛点,详细解析了基于`startLocationUpdateBackground`API的后台定位解决方案。内容涵盖从隐私协议配置、项目权限声明,到授权、启动、监听、停止的核心代码流程,并分享了真机调试、性能优化及权限引导等关键避坑经验,帮助开发者构建稳定可靠的后台位置服务。

weixin_29008055的博客 467

【网络编程】Socket套接字;UDP数据报套接字编程;TCP流套接字编程

【网络编程】Socket套接字;UDP数据报套接字编程;TCP流套接字编程

Wisk1019的博客 1050

【嵌入式底层知识修炼】按键和LED共用IO口的分时复用扫描方法

文章目录01 - PCB原理图例程02 - 分时复用的注意项和设计2.1 - 注意项2.2 - 设计03 - 代码实现 只要我跑的速度够快,寂寞就追不上我 只要Key和Led切换速度够快,人眼就看不出来 ————小白   如果你存在按键Key和显示Led共用同一个IO时,需要分时复用的需求,则可以移植代码进行使用: 代码所占code少于0.5K 线程安全,中断安全 可移植性高,配置容易 注意:系统需要存在一个至少为1ms的时钟中断 01 - PCB原理图例程   举2个Key和Led共用IO口的

单眼皮根号三的博客 1万+

socket编程—UDP套接字

/server要的是port必须明确,而且不变,但是client只要有就行!//b、但是,客户端不需要显示的bind!一般的服务器port,必须是众所周知(不仅是被人,也可以被各种软件等知道的)的,并且轻易不改变!整个互联网可以看作一个大的OS,所有在网络上的行为,基本都是在一个大的OS内,进行进程间通信!//就是client正常发送数据的时候,OS会自动给你bind,采用的是随机端口的方式!作为一个服务器,要不要让客户知道,对应的服务器的地址(ip+port)?互联网世界,是一个进程间通信的世界。

weixin_64181464的博客 1485

Swin Transformer 与 CNN 结合实现图像分类

Swin Transformer 与 CNN 结合实现图像分类。(含swin transformer 结构讲解,cnn网络搭建,代码)

这里是Mae。 5026

Transformer实战(30)——Transformer注意力机制可视化

在本节中,我们讨论了人工智能面临的最重要问题之一:可解释人工智能 (explainable artificial intelligence, XAI)。随着语言模型的不断发展,可解释性成为一个严峻的问题。本节中,我们从 Transformer 的角度出发,研究了 Transformer 架构中的自注意力机制,尝试通过各种可视化工具理解这些机制的内部过程。

盼小辉丶的博客 2628

socket网络编程套接字TCP/UDP两种方式详解

socket网络编程套接字TCP/UDP两种方式详解

wtl666_6的博客 7676

YOLO车辆测距、车辆识别与单目测距

YOLO(You Only Look Once)是一种实时物体检测系统,能够识别视频或图像中的多个对象,并确定其位置。结合车辆识别与单目测距技术,YOLO可以用于交通监控、自动驾驶等应用场景,通过单个摄像头实现车辆的识别与距离测量。YOLO结合单目测距技术,在多个应用领域展现出巨大的潜力与灵活性。其实时性和准确性为智能交通、自动驾驶等领域提供了强有力的技术支持。

走向CTO的路上... 1674

【Linux网络】套接字Socket编程预备

从这里我们就会发现,在局域网中,信息是透明的!任何主机都可以收到。同一时间,只允许一个主机向以太网中发送信息。如果有多态主机同时发送信息,会发生数据干扰,我们称作:数据碰撞。所有要发送信息的主机,都会进行碰撞检测和碰撞避免(碰撞避免算法)。在没有交换机的情况下,一个以太网就是一个碰撞域。在局域网通信的过程中,主机对收到的信息是否给发自己,是通过目标主机mac地址判定的。这时我们会发现,其实。

2509_93923260的博客 606

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【JavaSE】【网络编程】UDP数据报套接字编程

网络套接字编程简介,套接字介绍,javaUDP数据报套接字编程格式

yj20040627的博客 8017

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【JavaEE精炼宝库】 网络编程套接字——初识网络编程 | UDP数据报套接字编程

在网络编程中,套接字(Socket)是实现网络通信的重要工具。套接字主要有两种类型:1.流式套接字(Stream Socket)2.数据报套接字(Datagram Socket)。今天就让我们来深入学习一下。

2301_80035594的博客 3218

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【JavaEE初阶 — 网络编程】深入解析 Socket 套接字基本概念和 UDP 协议聊天室的基本实现

【JavaEE初阶 — 网络编程】Socket 套接字 & UDP数据报套接字编程

OuO-1 的博客 3004

JAVA网络编程——socket套接字的介绍上(详细)

大家好!今天笔者分享一篇关于Socket 套接字的博客,希望能为正在学习网络编程的读者提供一些帮助。梳理网络通信的基础概念本文还将顺带总结一些与 Socket 密切相关的基础知识,包括:IP 地址、端口号、网络协议、五元组、协议分层模型的作用与内容、TCP/UDP 区别、Socket API 的使用方式,以及如何通过代码模拟客户端/服务器之间的通信过程。理解客户端与服务器的数据交互。

cjejwe的博客 6318

【计算机网络原理】网络编程和Socket套接字

是指网络上的主机,通过不同的进程以编程的⽅式实现⽹络通信.当然,我们也可以是在一台主机,只要是在不同的进程中,就可以通过网络通信来传输资源,不一定需要在多台主机上实现.同时并不代表只能是从进程B到进程A,而是从发送方,到接收方进程A可以是发送方,也可以是接收方,进程B同理.2.网络编程中的基本概念1.发送端 vs 接收端在⼀次⽹络数据传输时:数据的发送⽅进程,称为发送端。发送端主机即⽹络通信中的源主机。数据的接收⽅进程,称为接收端。接收端主机即⽹络通信中的⽬的主机。

xiaoxie8023的博客 2341

网络编程-UDP数据报套接字

所谓的网络资源其实就是网络中可以获取的各种数据资源. 而所有的网络资源都是通过网络编程来进行数据传输的.

Node_Hao的博客 1381

UDP数据报套接字编程

在前面,我们已经学习了一遍有关网络编程的基础知识,例如OSI七层模型、TCP/IP五层模型等,那么本篇我们就来了解如何使用网络编程。网络编程其实就是使用编程语言和通信协议来网络上进行数据交换和通信的过程。通过IP地址、端口号连接到另一台主机上对应的程序,按照规定的协议进行数据交换。当然,只要是不同的进程,即使在同一台主机上,基于网络来传输数据的,也属于网络编程。Socket(套接字)是网络编程中一个重要的概念,是应用程序进行网络通信的接口。

zhyhgx的博客 1885

【JavaEE】UDP数据报套接字编程

本文讲解有关网络编程的基本概念以及UDP通信的过程和如何用代码实现。其中我们需要掌握DatagramSocket和DatagramPacket这两个UDP通信的核心搭档。还需要知道两者之间的关系(本文中,我们将其比喻为"邮局"和"信件"的关系以加深理解)。 在最后我们提供了代码练习(通过学习的知识创建一个回显服务器-客户端)。希望本文能帮助大家理解UDP通信。

L2770789195的博客 1282

【网络编程】网络编程概念 | TCP和UDP的区别 | UDP数据报套接字编程 | Socket

通过网络,让两个主机之间能够进行通信。基于通信来完成一定的功能。​ 进行网络编程的时候,需要操作系统提供一组API,通过这些API来完成。这些API可以认为的应用层和传输层之间交互的路径。这些API称为Socket API。通过一套Socket API 可以完成不同主机、不同系统之间的网络通信。​ 传输层提供的网络协议主要有两个:TCP、UDP。这两个协议的特性差异很大,会导致使用这两种协议进行网络编程,会存在一定的差别。系统就分别提供了两套API。

WengJM的博客 1908

javaSE————网络编程套接字

网络上,数据的传输是会发生丢包的情况的,可能会受到外界的干扰,那么可靠传输就能避免这样的丢包吗,事实上是不能的,可靠传输只是保证尽可能提高传输成功的概率,如果出现了丢包,也能感知到,不可靠传输的话就是把数据发送之后就不管了,那么这样的话我们就使用可靠传输就好了呀,还要UDP干嘛呢,凡是必有代价,UDP的话速度会更快;Socket就是套接字,啥是套接字,这名起的,Socket套接字是由系统提供用于网络通信的技术,是基于TCP/IP协议的网络通信的基本单元,基于Socket套接字的网络程序开发就是网络编程;

2301_79083481的博客 2799
上一篇: WSockExpert[抓包工具]
下一篇: XP下双开3389.
HEJSCLK
博客等级 码龄19年 17粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值