本文学习相关资料:
C/C++ socket编程教程

环境:vs2015
源码:本文代码

这次来看看UDP
之前在c++ socket学习(1.2)讲过UDP怎么发送了,那现在来做一个可以一直发送的。

这次没有什么接收端和发送端了,毕竟谁发送谁就是发送端,谁接受就是接收端

先发送数据的叫发送端,先接收的叫接收端(使用bind函数的)

接收端

//前面省略了
bind(servSock, (SOCKADDR*)&sockAddr, sizeof(SOCKADDR));while (1) {//udp接收信息,先收为敬int recvlen = recvfrom(servSock, buf, readlen, 0,(sockaddr*)&clntAddr, &nSize);if (strcmp(buf, "exit") == 0) {break;}std::cout << clntAddr.sin_port << " " << "收到的信息是:" << buf << std::endl;//将接收的数据处理一下,再发回去buf[recvlen / 2] = 0;sendto(servSock, buf, recvlen, 0, (sockaddr*)&clntAddr, nSize);
}

发送端

int nSize = sizeof(sockaddr);
while (1) {std::string sendMessage;std::cout << "输入要发送的内容(输入exit结束):";std::cin >> sendMessage;sendto(client, sendMessage.c_str(), sendMessage.size() + 1, 0, (sockaddr*)&servAddr, sizeof(sockaddr));if (sendMessage.compare("exit") == 0) {break;}recvfrom(client, buf, readlen, 0, (sockaddr*)&servAddr, &nSize);std::cout << "我收到了接收端的:" << buf << std::endl;
}

接收端要绑定了,才能收到发送端的信息

那么发送端没有绑定啊,是怎么接收到接收端处理过的信息呢?

原来发送端在调用sendto的时候,就需要一个IP地址端口,程序没有指明的话就由系统自己来分配了。

接收端可以通过recvfrom获得了发送端的IP地址端口,照着发回去就好了。

c++ socket学习(1.6)相关推荐

  1. Android socket 学习记录 之 执行new socket(ip, port)程序崩溃

    这段时间在学习Android的socket编程,我不是专做APP的,做的是bootloader.驱动.hal.framework这个线的,也就是系统搭建和功能优化设计.为了打通这整条线,为此学习了不少 ...

  2. c++ socket学习(1.3)

    本文学习相关资料: C/C++ socket编程教程 环境:vs2015 源码:本文代码 在这里c++ socket学习(1.1)学到了怎么样建立TCP,然后通过TCP连接发送.接收信息. 但是都是一 ...

  3. Android基础入门教程——7.6.1 Socket学习网络基础准备

    Android基础入门教程--7.6.1 Socket学习网络基础准备 标签(空格分隔): Android基础入门教程 本节引言: 为了照顾没学过Java Socket的初学者,或者说捋一捋Andro ...

  4. Linux Socket学习(十三)

    使用UDP进行广播 如果通信只能在两个单体之间完成,这样的方式是没有效率的.另一方面,广播允许同时要多个接收者传播信息. 在这一章,我们将会学习下列内容: 建立一个UDP广播套接口 使用套接口发送广播 ...

  5. Linux Socket学习(十八)--完

    一个实际的网络工程 不论我们的头脑是否在由上一章的学习中清醒过来,现在我们需要休息一下了.在这一章我们并不讨论新的内容,而是用我们所学到的这些东西来实现一些有趣的事情.在学习了这么多的东西之后来一些有 ...

  6. c++ socket学习(1.5)

    本文学习相关资料: C/C++ socket编程教程 环境:vs2015 源码:本文代码 这次来试一下使用TCP来传输文件,其实传输数据和差不多,就是多一个读取文件,和一个写文件而已. 服务端 int ...

  7. c++ socket学习(1.4)

    本文学习相关资料: C/C++ socket编程教程 环境:vs2015 源码:本文代码 前面学到了TCP怎么循环发包,但是TCP连接的话会出现一个问题粘包. TCP连接接收到的数据并不是马上读取到内 ...

  8. c++ socket学习(1.2)

    本文学习相关资料: C/C++ socket编程教程 环境:vs2015 源码:本文代码 windows 如何创建客户端与服务端通信? UDP: 这次就没什么客户端服务端好说了,UDP是没有无连接的 ...

  9. c++ socket学习(1.1)

    本文学习相关资料: C/C++ socket编程教程 环境:vs2015 源码:本文代码 windows 如何创建客户端与服务端通信? TCP: 服务端 在windows先告诉程序我们要使用哪个版本的 ...

最新文章

  1. 保研软件学院和计算机学院,西南大学计算机与信息科学学院·软件学院(专业学位)计算机技术保研细则...
  2. Java 8中的时间日期库DateTime API及示例
  3. 微软应用架构指南(第2版)出版
  4. 这一次彻底搞懂 Git Rebase
  5. 开发流媒体服务器_Github选出10大开源免费的RTSP流媒体项目
  6. 数学之美系列六 -- 图论和网络爬虫 (Web Crawlers)
  7. 2019 年百度之星·程序设计大赛 - 初赛一Game HDU 6669 (实现,贪心)
  8. Codeforces Round #703 (Div. 2) 题解
  9. mysql+yes数据类型,怎样修改mysql列的数据类型?
  10. adb 更新 android sdk,[转载]安装Android时SDK AVD MANAGER时更新报错的解决办法
  11. 微信小程序调试之【不在以下合法域名列表中】
  12. javascript MouseEvent对象
  13. contains an expression but should be a constant
  14. 直播特效的实现原理与难点
  15. Tableau-仪表板
  16. 软件测试工资一般是多少
  17. Mysql数据库设计
  18. wi ndows怎么自动编页,15个小技巧,让我的Windows电脑更好用了!
  19. [MATLAB] 读取ASII文件中的复数数据
  20. iCloud云备份与照片库

热门文章

  1. 查看mysql 中建立的表空间_mysql 表空间及索引的查看
  2. oracle 计算中位数,SQL 如何计算每个分组的中位数
  3. python 窗口 网页 访问_同事用Python操控浏览器运行,引的妹子围观不止!
  4. dcdc芯片效率不高的原因_半导体厂商如何做芯片的出厂测试?
  5. 前端工程师和设计师必读文章推荐【系列三十六】
  6. 如何在本地开发环境调试微信 JS-SDK
  7. python 数据类型之间的转换
  8. day 17python 面对对象之继承
  9. Codeforces Round #318 (Div. 2) B Bear and Three Musketeers (暴力)
  10. ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(2)