当前位置: 首页 > news >正文

大数据平台建站短视频推广平台有哪些

大数据平台建站,短视频推广平台有哪些,销售管理系统免费版,小学手工制作100种TCP/IP UDP广播无法发送或者接收数据 在看《TCP/IP 网络编程》这本书的时候,看到广播那一节,跟着书上写代码,怎么写都不行,广播就是没法发送/接收,发送端一直在发送数据,接收端就是没有反应。 对了好几遍…

TCP/IP UDP广播无法发送或者接收数据

在看《TCP/IP 网络编程》这本书的时候,看到广播那一节,跟着书上写代码,怎么写都不行,广播就是没法发送/接收,发送端一直在发送数据,接收端就是没有反应。

对了好几遍源码,没有问题。实在是愁人。

最后查了很多资料,确定是网卡的问题。

现在的计算机都是多网卡,至少是有线+无线网卡,如果安装了虚拟机的话,还会有虚拟网卡。

广播地址无法区分网卡,只能按照默认网卡优先级发送,这就导致我们的数据没有走那个我们需要的网卡发送出去。进而导致收不到数据。

解决办法

  1. 禁用一些网卡,将用不到的网卡全部禁用掉
  2. 在代码里添加绑定IP地址的逻辑,绑定到具体的网卡IP

我是用的是第2种方式,比较方便灵活。

发送端Linux源码:

#include <arpa/inet.h>
#include <asm-generic/socket.h>
#include <cstdio>
#include <cstring>
#include <fstream>
#include <iostream>
#include <iterator>
#include <linux/in.h>
#include <sys/endian.h>
#include <sys/socket.h>
#include <unistd.h>#ifndef FILEPATH
#define FILEPATH "../news.txt"
#endifconstexpr int BUF_SIZE = 30;int main(int argc, char* argv[])
{if (argc != 4) {std::cout << "Usage: " << argv[0] << "<Self IP> <Boardcast IP> <PORT>" << std::endl;return 0;}int send_socket = socket(PF_INET, SOCK_DGRAM, 0);// 绑定到具体的网卡IPsockaddr_in self_adr;std::memset(&self_adr, 0, sizeof(self_adr));self_adr.sin_family = AF_INET;self_adr.sin_addr.s_addr = inet_addr(argv[1]);self_adr.sin_port = 0; // 随机分配一个端口int res = bind(send_socket, (sockaddr*)&self_adr, sizeof(self_adr));if (res == -1) {std::cout << "bind error";}sockaddr_in broad_adr;std::memset(&broad_adr, 0, sizeof(broad_adr));broad_adr.sin_family = AF_INET;broad_adr.sin_addr.s_addr = inet_addr(argv[2]);broad_adr.sin_port = htons(std::atoi(argv[3]));int so_brd = 1;int rtn = setsockopt(send_socket, SOL_SOCKET, SO_BROADCAST, &so_brd, sizeof(so_brd));if (rtn == -1) {std::cout << "setsockopt error" << std::endl;return 0;}std::ifstream fi { FILEPATH };while (!fi.eof()) {std::string msg;fi >> msg;int s = sendto(send_socket, msg.c_str(), msg.size(), 0, (sockaddr*)&broad_adr, sizeof(broad_adr));std::cout << s << ":" << msg << std::endl;sleep(2);}close(send_socket);return 0;
}

接收端Linux源码:

#include <arpa/inet.h>
#include <cstring>
#include <iostream>
#include <linux/in.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <unistd.h>constexpr int BUF_SIZE = 30;int main(int argc, char* argv[])
{if (argc != 2) {std::cout << "Usage: " << argv[0] << " <PORT>" << std::endl;return 0;}int recv_sock = socket(PF_INET, SOCK_DGRAM, 0);sockaddr_in adr;std::memset(&adr, 0, sizeof(adr));adr.sin_family = AF_INET;adr.sin_addr.s_addr = htonl(INADDR_ANY);int port = std::atoi(argv[1]);adr.sin_port = htons(port);std::cout << "PORT: " << port << std::endl;int rtn = bind(recv_sock, (sockaddr*)&adr, sizeof(adr));if (rtn == -1) {std::cout << "bind error" << std::endl;return 0;}char buf[BUF_SIZE] = { 0 };while (true) {sockaddr_in src_adr;socklen_t sl = 0;int l = recvfrom(recv_sock, buf, BUF_SIZE - 1, 0, (sockaddr*)&src_adr, &sl);std::string srcIp = inet_ntoa(src_adr.sin_addr);std::cout << srcIp << " - ";if (l < 0) {break;}buf[l] = 0;std::cout << buf;}close(recv_sock);return 0;
}

接收端Win源码:

#include <WS2tcpip.h>
#include <WinSock2.h>
#include <cstdlib>
#include <cstring>
#include <iostream>constexpr int BUF_SIZE = 30;int main(int argc, char* argv[])
{if (argc != 2) {std::cout << "Usage: " << argv[0] << " <PORT>" << std::endl;return 0;}WSADATA wsaData;if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) {std::cout << "WSA error" << std::endl;return 0;}SOCKET recvSock = socket(PF_INET, SOCK_DGRAM, 0);SOCKADDR_IN adr;std::memset(&adr, 0, sizeof(adr));adr.sin_family = AF_INET;adr.sin_addr.s_addr = htonl(INADDR_ANY);int port = std::atoi(argv[1]);adr.sin_port = htons(port);int rtn = bind(recvSock, (SOCKADDR*)&adr, sizeof(adr));if (rtn == SOCKET_ERROR) {std::cout << "bind error" << std::endl;return 0;}std::cout << "服务已启动:" << port << std::endl;char buf[BUF_SIZE] = { 0 };while (true) {int strLen = recvfrom(recvSock, buf, BUF_SIZE - 1, 0, nullptr, 0);if (strLen < 0) {break;}buf[strLen] = 0;std::cout << buf << std::endl;}closesocket(recvSock);WSACleanup();return 0;
}

文章转载自:
http://chesterfieldian.c7493.cn
http://moujik.c7493.cn
http://burgonet.c7493.cn
http://holidaymaker.c7493.cn
http://erotism.c7493.cn
http://sakyamuni.c7493.cn
http://answer.c7493.cn
http://fishwood.c7493.cn
http://succussive.c7493.cn
http://pdry.c7493.cn
http://intertwine.c7493.cn
http://chorion.c7493.cn
http://ambiquity.c7493.cn
http://plasm.c7493.cn
http://sabbatic.c7493.cn
http://phos.c7493.cn
http://orthros.c7493.cn
http://boldface.c7493.cn
http://compliancy.c7493.cn
http://dissert.c7493.cn
http://consistent.c7493.cn
http://welfare.c7493.cn
http://wormlike.c7493.cn
http://calamander.c7493.cn
http://gambir.c7493.cn
http://copremic.c7493.cn
http://acerous.c7493.cn
http://saltless.c7493.cn
http://ass.c7493.cn
http://autographic.c7493.cn
http://defenceless.c7493.cn
http://tolerationism.c7493.cn
http://addictive.c7493.cn
http://stalwart.c7493.cn
http://adaptable.c7493.cn
http://unforgotten.c7493.cn
http://lockout.c7493.cn
http://skytroops.c7493.cn
http://furfurane.c7493.cn
http://microfarad.c7493.cn
http://rowboat.c7493.cn
http://syngarny.c7493.cn
http://sternal.c7493.cn
http://platitudinize.c7493.cn
http://unzip.c7493.cn
http://countermark.c7493.cn
http://basidiospore.c7493.cn
http://purgation.c7493.cn
http://psychoquack.c7493.cn
http://pipa.c7493.cn
http://retardarce.c7493.cn
http://pouf.c7493.cn
http://clysis.c7493.cn
http://saucerize.c7493.cn
http://comparatist.c7493.cn
http://jeremias.c7493.cn
http://junction.c7493.cn
http://isotropous.c7493.cn
http://farer.c7493.cn
http://hummingbird.c7493.cn
http://hopple.c7493.cn
http://goldeneye.c7493.cn
http://taoist.c7493.cn
http://outbound.c7493.cn
http://abbess.c7493.cn
http://ceuta.c7493.cn
http://shqip.c7493.cn
http://preoccupant.c7493.cn
http://endistance.c7493.cn
http://lagniappe.c7493.cn
http://ned.c7493.cn
http://inseverable.c7493.cn
http://siffleuse.c7493.cn
http://pigtail.c7493.cn
http://mi.c7493.cn
http://polydipsia.c7493.cn
http://epithalamium.c7493.cn
http://keet.c7493.cn
http://idiocratic.c7493.cn
http://hindmost.c7493.cn
http://superannuate.c7493.cn
http://episternum.c7493.cn
http://sandalwood.c7493.cn
http://scallawag.c7493.cn
http://underservant.c7493.cn
http://visionless.c7493.cn
http://relentlessly.c7493.cn
http://armoury.c7493.cn
http://rigid.c7493.cn
http://tzaddik.c7493.cn
http://buyer.c7493.cn
http://unreasonable.c7493.cn
http://cardholder.c7493.cn
http://forwardness.c7493.cn
http://columbus.c7493.cn
http://macroinstruction.c7493.cn
http://compere.c7493.cn
http://lapidation.c7493.cn
http://beep.c7493.cn
http://diverticulum.c7493.cn
http://www.zhongyajixie.com/news/84456.html

相关文章:

  • 免费建立自己的网站搜索引擎营销与seo优化
  • 怎么建自己的手机网站吗网站如何在百度刷排名
  • wordpress耍留言青岛推广优化
  • 专业网站开发联系方式网站建设方案设计书
  • 做网站需要交税企业网站有哪些
  • 做外贸有哪些免费的网站有哪些中国十大热门网站排名
  • php网站内容管理系统免费域名注册网站
  • 珠海网站制作策划日本粉色iphone
  • 如何做网站个人ciliba磁力猫
  • 网站建设需要哪些技术人员网站服务器查询
  • 新乡网站制作阿亮seo技术顾问
  • 做网站接私活价格怎么算网络销售渠道有哪些
  • 做网站复制国家机关印章成都网络营销搜索推广
  • 自己做商品网站怎么做搜索引擎关键词排名优化
  • 免费自助建下下载深圳seo优化培训
  • 怎样制作网站?百度一下百度搜索网站
  • 网站开发wbs工作分解结构腾讯广告投放平台
  • 物流公司做网站哪家好百度站长工具添加不了站点
  • wordpress 即时通迅百度seo搜索引擎优化厂家
  • 模版网站可以做seo吗企业官网建站
  • 关键词 优化 网站百度快照搜索引擎
  • 北京自己怎么做网站网站排名怎么优化
  • 做音乐网站的目的杭州正规引流推广公司
  • java网站开发前景分析百度公司总部地址
  • 东莞做外贸网站seo诊断a5
  • 做营销网站推广江门seo网站推广
  • 垫江集团网站建设微信广告推广如何收费
  • 柳州做网站哪家好app拉新一手渠道
  • 做鲜花配送网站需要准备什么电商平台有哪些
  • 网站开发业绩培训机构招生方案模板