vxworks下跨网段无法ping通???

ltr ltr 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
老弟最近在开发过程遇到一个问题,就是开发出的vxworks程序
1、跨网段无法ping通,报文也过不去。
现象与现状:
同网段可以ping通,报文也可以过去。
目前的所跨的两个采用B类地址,从第二位开始有区别区分子网。分别是168.4.0.*和168.1.0.*,掩码已设置成255.255.0.0,本地网关已经设置成168.4.254.254
是不是网关或者子网掩码哪里设置不合适。

源码粘贴如下,请高手指教,分数不是问题,因为事情紧急,请大家多多捧场!

ipAttach(0, fei);
ifMaskSet(fei0, nC2Mask);
ifAddrSet(fei0, cC2LocalAddr); /*cC2LocalAddr为本机地址,nC2Mask为掩码地址 */

int udpMCSocketCreate(char* cLocalName, char* cMultiCastAddr, int nPort)/*cLocalName为本机地址,cMultiCastAddr为组播地址,nPort为端口号*/
{
int nSocketID = -1;
struct sockaddr_in socketLocalAddr;
int nSockAddrSize = sizeof(struct sockaddr_in);

struct ip_mreq ipMreq;

int nOval = 0;

/* Create client's socket */
if((nSocketID = socket(AF_INET, SOCK_DGRAM, 0)) == ERROR)
{
perror("socket initial error\n");
return -1;
}

/* build local socket address */
bzero((char*)&socketLocalAddr, nSockAddrSize);
socketLocalAddr.sin_len = nSockAddrSize;
socketLocalAddr.sin_family = AF_INET;
socketLocalAddr.sin_port = htons(nPort); /*htons(INADDR_ANY);*/

if(((socketLocalAddr.sin_addr.s_addr = inet_addr(cLocalName)) == ERROR) &&
((socketLocalAddr.sin_addr.s_addr = hostGetByName(cLocalName)) == ERROR))
{
perror("unknown local name\n");
udpSocketClose(nSocketID);
return -1;
}

/* bind to special socket address and port*/
if(bind(nSocketID, (struct sockaddr*)&socketLocalAddr, nSockAddrSize) == ERROR)
{
perror("socket bind error!\n");
udpSocketClose(nSocketID);
return -1;
}

nOval = 1;
if(setsockopt(nSocketID, SOL_SOCKET, SO_REUSEADDR, (char*)&nOval, sizeof(nOval)) == ERROR)
{
perror("set the socket reuseable error!\n");
udpSocketClose(nSocketID);
return -1;
}


/* fill in the argument structure to join the multicast group */
/* initialize the multicast address to join */
ipMreq.imr_multiaddr.s_addr = inet_addr (cMultiCastAddr);

/* unicast interface addr from which to receive the multicast packets */
ipMreq.imr_interface.s_addr = inet_addr (cLocalName);

/* set the socket option to join the MULTICAST group */
if (setsockopt (nSocketID, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *)&ipMreq, sizeof (ipMreq)) == ERROR)
{
perror ("setsockopt IP_ADD_MEMBERSHIP error!\n");
return -1;
}

nOval = 15;
if(setsockopt(nSocketID, IPPROTO_IP, IP_MULTICAST_TTL, (char *)&nOval, sizeof(nOval)) == ERROR)
{
perror("set the socket multicast TTL error!\n");
udpSocketClose(nSocketID);
return -1;
}

mRouteAdd(cGroupAddr, cRouteAddr, 0xFFFF0000, 0, 0 ); /*cGroupAddr为组播地址,cRouteAddr为网关地址 */

nReturnValue = mRouteAdd (cC2LocalAddr, cRouteAddr, 0xFFFF0000, 0, 0 ); /*cC2LocalAddr为本机地址,cRouteAddr为网关地址 */
printf("add route is = %d\n",nReturnValue);


return nSocketID;
}
...全文

相关推荐

【信息科学与工程学】【通信工程】第八十六篇 通信网络设备及通信网络组网的所有学科知识01

编号001类型网络虚拟化与覆盖技术网络领域数据中心网络子领域大二层网络 / 网络虚拟化核心数学方程式/算法模型核心算法:VXLAN封装与解封装。关键在于24位VNI(虚拟网络标识符)到物理网络的三层IP地址的映射。封装:收到原始以太帧后,为其添加 VXLAN 头部(含 VNI)、外层 UDP 头(目的端口 4789)、外层 IP 头(源 IP 为本地 VTEP IP,目的 IP 为对端 VTEP IP)以及外层 MAC 头。解封装:对端 收到报文后,剥离外层头部,根据内层帧的目的 MAC 和 VNI 进行二

flyair_China

文件夹文件清单一键导出Excel工具

这是一款文件夹文件清单一键导出 Excel 工具,选一个文件夹点一下,整棵目录树就列成一张 Excel 表。自带中文图形界面,双击启动.bat 即用。交付物包含主程序脚本、启动批处理、README 说明文档(md、html、pdf 三种版本)、示例目录和界面截图,解压即用。 功能上覆盖目录盘点的完整流程:选一个文件夹递归扫描所有子目录,文件按相对路径列进 Excel;每行带相对路径、文件名、类型、大小、创建时间和修改时间六项信息;末尾自动合计文件总数和总大小;可按扩展名过滤只保留指定类型的文件,可限制递归深度只扫顶层或指定层数。 几个实用细节:只读文件元数据不动你的原始文件,输出进独立目录同名自动加序号不覆盖;自动跳过隐藏文件和常见缓存目录如 git、node_modules;按钮运行时变灰防重复点击;同时保留命令行模式,脚本党也能直接用。 适合做交接盘点、资料报审、目录整理的行政、IT 和办公族,不用写代码。使用时双击启动.bat,选好要盘点的文件夹,按需填扩展名过滤和递归深度,点导出 Excel 清单,几秒钟后结果就在旁边的输出文件夹里,打开就能直接使用查看。第一次用建议先拿自带的示例目录跑一遍熟悉流程,再扫自己的正式文件夹。

小鹿( ﹡ˆoˆ﹡ )

政府科技管理者在推动科技成果转化时,如何解决技术供需匹配低效的问题?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

科技中介服务机构如何提升技术需求挖掘与服务推荐能力?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

Python3 json序列化常见报错

json只能序列化字符串、数字、列表、字典、布尔、空值。无法序列化datetime、bytes、自定义类对象,直接dumps会抛出类型错误。解决方案:自定义序列化函数,通过default参数传入,手动转换特殊对象。中文乱码:默认ensure_ascii=True会转义中文,改为False直接输出原生中文。反序列化loads注意:json字符串要求双引号,Python字典单引号字符串无法解析,需要提前替换引号。 bfqcjn.com bg-wifi.cn bjqhjy.com bjqhfs.com bddongao.cn

2601_97326364
评论 8
收藏 已收藏
分享
返回顶部
ltr
VxWorks 2,187 成员 2,913 内容