基于Udp的Socket网络编程
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网络编程相关推荐
- 基于Udp的Socket网络编程聊天程序
1.新建一个工程区Net 在工作区中添加两个工程 NetSrv 和 NetClient 为两个工程添加库文件 (Link中) ws2_32.lib 2.在工程NetSrv中添加Server.cpp文件 ...
- 基于Linux的socket网络编程项目——游侠手机商城
基于Linux的socket网络编程项目--游侠手机商城 一.项目说明 二.项目使用的技术 三.客户端搭建 四.服务器端搭建 一.项目说明 本项目是一个仿真手机商城类系统,基本功能: 登录界面功能:用 ...
- socket网络编程 java_Java Web 基础(一) 基于TCP的Socket网络编程
一.Socket简单介绍 Socket通信作为Java网络通讯的基础内容,集中了异常.I/O流模式等众多知识点.学习Socket通信,既能够了解真正的网络通讯原理,也能够增强对I/O流模式的理解. 1 ...
- step5 . day4 网络编程 基于UDP协议的网络编程流程及API
UDP协议是面向无连接,不可靠的传输协议,编程流程如下; 服务器端: 1. socket(),返回一个文件描述符,用于通信 2. bind(); //得先完成结构体的填充sockaddr_in 3. ...
- 基于TCP的Socket网络编程,有图有代码
1.新建一个工作区 Tcp 在工作区中添加两个工程 TcpSrv(服务端)和TcpClient (客户端) 2.在工程TcpSrv添加TcpSrv.cpp文件 代码如下: #include <W ...
- Day09: socket网络编程-OSI七层协议,tcp/udp套接字,tcp粘包问题,socketserver
今日内容:socket网络编程 1.OSI七层协议 2.基于tcp协议的套接字通信 3.模拟ssh远程执行命令 4.tcp的粘包问题及解决方案 5.基于udp协 ...
- Linux Kernel TCP/IP Stack — Socket Layer — TCP/UDP Socket 网络编程
目录 文章目录 目录 TCP/UDP Socket 逻辑架构 创建 Socket 绑定 Socket 请求建立 Socket 连接 监听 Socket 接受请求 关闭连接 数据的发送和接收 send ...
- 基于 UDP 的 Socket 编程
基于 UDP 的 Socket 编程 UDP的定义 •UDP 是用户数据报协议,提供的是无连接.不可靠信息传送服务.Java 主要提供了两个类来实现基于 UDP 的 Socket 编程. UDP编程的 ...
- Linux C++/Java/Web/OC Socket网络编程
一,Linux C++ Socket网络编程 1.什么是TCP/IP.UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制 ...
最新文章
- IBM磁带库中更换磁带的步骤
- 修改eclipse启动时eclipse使用的jre
- node.js 执行php,node.js - 如何利用php执行nodejs文件
- 本地运行hadoop-Failed to locate the winutils binary in the hadoop binary path
- 本地项目怎么推送到码云_如何将本地项目放到码云(gitee)上
- 【LeetCode】241. Different Ways to Add Parentheses
- android 中国市场份额 2015,2015年安卓芯片市场分析:不再一家独大
- 【浙大第19届校赛:B】Even Number Theory (数论n!中有多少个质因子2+java大数)
- 苹果双系统怎么切换_华为双系统,你会用吗?实在太神了!一键开启,一台手机当两台用...
- 用engineercms建立项目管理平台
- 大型网站技术架构+核心原理与案例分析+李智慧
- SCI-HUB最新文献网址
- 【开发规范】持续更新中......
- 提高软件测试工作效率,资讯详情-软件测试提高工作效率的一些建议-柠檬班-自动化测试-软件测试培训-自学官网...
- Python数据分析训练营——Python数据分析之Panads-1
- 潘正磊谈微软研发团队管理之道
- 2023年的深度学习入门指南(1) - 从chatgpt入手
- 微信小程序识别图片并提取文字_这款微信小程序可以批量图片转文字?识别准确率超高!...
- 【什么是服务器托管?为什么要托管呢?】
- c++实现加法的w32控制台程序
热门文章
- 鸿蒙车载智慧屏评测,华为鸿蒙系统初体验,华为智慧屏评测,功能超乎想象
- Python 集合定义及运算
- 从前端到“钱”端,优秀程序员要掌握哪些核心技术?
- android备忘录_苹果备忘录怎样把内容置顶?有置顶功能的备忘录便签
- php点击弹出文字代码,js实现鼠标点击页面弹出自定义文字效果
- 自动生成的sitemap.html乱码,任意网站添加生成sitemap地图
- 华为鸿蒙系统深度体验报告,堪比苹果IOS的存在!
- 计算机上的框英文,电脑打开steam平台弹出一个英文框的解决方法
- oracle apex 日志,oracle-apex - 在oracle apex报告中显示员工记录或经理记录及其员工 - SO中文参考 - www.soinside.com...
- SpringBoot整合Shiro实现登录认证授权操作