inet_ntop使用注意事项
原创windows平台,用C++我编写了一个控制台模式的网络服务程序来启用TCP监听,
等待客户端连接并推送数据。结构不复杂,需要本地测试OK。
发布到服务器并运行时,发生了奇怪的现象。弹出控制台窗口后,程序被阻止
找出堵塞物的位置,在一些可疑的地方cout输出时,不显示任何结果。
后来,发布了调试版本,包括main的第一行cout没有任何输出,我开始怀疑生活
所以所有的代码逻辑都被屏蔽了,只留下一个空的外壳和cout输出没有问题,似乎还是代码引起的,
就这样,一点一点地放开代码,最后导航到 inet_ntop 此函数在编码时确实与其总和匹配 inet_ntoa 犹豫片刻后,
因为这个函数比较新,可以同时支持两者ipv4和ipv6所以我没有多想。
谁知道呢,这个小功能需要我几个小时来跟踪位置。
后来在查阅资料后发现,这个功能需要windows2008以上服务器系统只能正常使用,
部署的服务器是旧的2003系统在程序启动期间加载库函数时可能遇到某种异常,
奇怪的是,这个异常没有提示,却悄悄地弹出了窗口,
什么都不做,什么都不说,或者崩溃,但你崩溃了!!!
虽然现在仍在使用17几年前没有更多的人使用操作系统,但此事件仍然提供了一些见解:
1 使用新功能替换旧版本时,注意检查并确认适用的平台版本
2 在早期的操作系统版本中,许多程序异常(特别是在测试期间)与系统版本有关
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
上一篇:LinuxShell编程入门 下一篇:B类AIS信息介绍