解决方案:项目属性中,预处理器定义中不要添加没有必要的定义。
详细说明:
一、
本人需要从vs2008移植到vs2015运行程序,为了保护原代码不修改,复制了项目,其预处理器定义如下,能正常运行:
WIN32
NDEBUG
_CONSOLE
_CRT_SECURE_NO_WARNINGS
_CRT_SECURE_NO_DEPRECATE
_SCL_SECURE_NO_WARNINGS
_SCL_SECURE_NO_DEPRECATE
二、
本人需要将移植好的程序二次开发,需要再次新建项目,但此时出现了没有收到UDP的消息的问题,其预处理器定义和(一)的一样:
WIN32
_CONSOLE
_CRT_SECURE_NO_WARNINGS
_CRT_SECURE_NO_DEPRECATE
_SCL_SECURE_NO_WARNINGS
_SCL_SECURE_NO_DEPRECATE
_WINSOCK_DEPRECATED_NO_WARNINGS
三、
上网寻找解决方案,根据赵老师的建议,找了标准的socket编程代码,因为我极其拒绝对其代码做出任何评论,我把其代码修改了一下,贴到这里:
极其不情愿的附上原代码来源:https://blog.youkuaiyun.com/weixin_40569991/artic