1.新建一个工作空间 Udp 添加两个工程UdpClient 和 UdpSrv

2.在工程UdpSrv中添加UdpSrv.cpp文件

代码如下:

#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;
}
//基于udp创建数据报套接字
//SOCK_STREAM是基于TCP的,数据传输比较有保障,是数据流,一般是tcp/ip协议的编程
//SOCK_DGRAM是基于UDP的,专门用于局域网,基于广播,是数据报,是udp协议网络编程
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(6000);
bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
SOCKADDR_IN addrClient;
int len = sizeof(SOCKADDR);
char recvBuf[100];
recvfrom(sockSrv,recvBuf,100,0,(SOCKADDR*)&addrClient,&len);
printf("%s\n",recvBuf);
closesocket(sockSrv);
WSACleanup();
}

添加Link库文件 ws2_32.lib

3.在工程UdpClient中添加UdpClient.cpp文件

代码如下:

#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 sockClient = socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(6000);
sendto(sockClient,"Hello",strlen("Hello")+1,0,
(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
closesocket(sockClient);
WSACleanup();
}

同样添加Link库文件 ws2_32.lib

4.先运行服务端程序在运行客户端程序会看到效果

基于Udp的Socket网络编程相关推荐

  1. 基于Udp的Socket网络编程聊天程序

    1.新建一个工程区Net 在工作区中添加两个工程 NetSrv 和 NetClient 为两个工程添加库文件 (Link中) ws2_32.lib 2.在工程NetSrv中添加Server.cpp文件 ...

  2. 基于Linux的socket网络编程项目——游侠手机商城

    基于Linux的socket网络编程项目--游侠手机商城 一.项目说明 二.项目使用的技术 三.客户端搭建 四.服务器端搭建 一.项目说明 本项目是一个仿真手机商城类系统,基本功能: 登录界面功能:用 ...

  3. socket网络编程 java_Java Web 基础(一) 基于TCP的Socket网络编程

    一.Socket简单介绍 Socket通信作为Java网络通讯的基础内容,集中了异常.I/O流模式等众多知识点.学习Socket通信,既能够了解真正的网络通讯原理,也能够增强对I/O流模式的理解. 1 ...

  4. step5 . day4 网络编程 基于UDP协议的网络编程流程及API

    UDP协议是面向无连接,不可靠的传输协议,编程流程如下; 服务器端: 1. socket(),返回一个文件描述符,用于通信 2. bind(); //得先完成结构体的填充sockaddr_in 3. ...

  5. 基于TCP的Socket网络编程,有图有代码

    1.新建一个工作区 Tcp 在工作区中添加两个工程 TcpSrv(服务端)和TcpClient (客户端) 2.在工程TcpSrv添加TcpSrv.cpp文件 代码如下: #include <W ...

  6. Day09: socket网络编程-OSI七层协议,tcp/udp套接字,tcp粘包问题,socketserver

    今日内容:socket网络编程     1.OSI七层协议     2.基于tcp协议的套接字通信     3.模拟ssh远程执行命令     4.tcp的粘包问题及解决方案     5.基于udp协 ...

  7. Linux Kernel TCP/IP Stack — Socket Layer — TCP/UDP Socket 网络编程

    目录 文章目录 目录 TCP/UDP Socket 逻辑架构 创建 Socket 绑定 Socket 请求建立 Socket 连接 监听 Socket 接受请求 关闭连接 数据的发送和接收 send ...

  8. 基于 UDP 的 Socket 编程

    基于 UDP 的 Socket 编程 UDP的定义 •UDP 是用户数据报协议,提供的是无连接.不可靠信息传送服务.Java 主要提供了两个类来实现基于 UDP 的 Socket 编程. UDP编程的 ...

  9. Linux C++/Java/Web/OC Socket网络编程

    一,Linux C++ Socket网络编程 1.什么是TCP/IP.UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制 ...

最新文章

  1. IBM磁带库中更换磁带的步骤
  2. 修改eclipse启动时eclipse使用的jre
  3. node.js 执行php,node.js - 如何利用php执行nodejs文件
  4. 本地运行hadoop-Failed to locate the winutils binary in the hadoop binary path
  5. 本地项目怎么推送到码云_如何将本地项目放到码云(gitee)上
  6. 【LeetCode】241. Different Ways to Add Parentheses
  7. android 中国市场份额 2015,2015年安卓芯片市场分析:不再一家独大
  8. 【浙大第19届校赛:B】Even Number Theory (数论n!中有多少个质因子2+java大数)
  9. 苹果双系统怎么切换_华为双系统,你会用吗?实在太神了!一键开启,一台手机当两台用...
  10. 用engineercms建立项目管理平台
  11. 大型网站技术架构+核心原理与案例分析+李智慧
  12. SCI-HUB最新文献网址
  13. 【开发规范】持续更新中......
  14. 提高软件测试工作效率,资讯详情-软件测试提高工作效率的一些建议-柠檬班-自动化测试-软件测试培训-自学官网...
  15. Python数据分析训练营——Python数据分析之Panads-1
  16. 潘正磊谈微软研发团队管理之道
  17. 2023年的深度学习入门指南(1) - 从chatgpt入手
  18. 微信小程序识别图片并提取文字_这款微信小程序可以批量图片转文字?识别准确率超高!...
  19. 【什么是服务器托管?为什么要托管呢?】
  20. c++实现加法的w32控制台程序

热门文章

  1. 鸿蒙车载智慧屏评测,华为鸿蒙系统初体验,华为智慧屏评测,功能超乎想象
  2. Python 集合定义及运算
  3. 从前端到“钱”端,优秀程序员要掌握哪些核心技术?
  4. android备忘录_苹果备忘录怎样把内容置顶?有置顶功能的备忘录便签
  5. php点击弹出文字代码,js实现鼠标点击页面弹出自定义文字效果
  6. 自动生成的sitemap.html乱码,任意网站添加生成sitemap地图
  7. 华为鸿蒙系统深度体验报告,堪比苹果IOS的存在!
  8. 计算机上的框英文,电脑打开steam平台弹出一个英文框的解决方法
  9. oracle apex 日志,oracle-apex - 在oracle apex报告中显示员工记录或经理记录及其员工 - SO中文参考 - www.soinside.com...
  10. SpringBoot整合Shiro实现登录认证授权操作