大佬教程收集整理的这篇文章主要介绍了windows – Struct sockaddr,sin_family不是成员,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
现在我想使用http://www.intelliproject.net/articles/showArticle/index/check_tcp_udp_port中的代码来检查端口是否打开!
现在我有struct sockaddr如下:
struct sockaddr { ushort sa_family; char sa_data[14]; };
但需要这个结论:
struct sockaddr { short sin_family; u_short sin_port; struct in_addr sin_addr; char sin_zero[8]; };
哪些变化是必要的?
#define WIN32_LEAN_AND_MEAN // sockets #include "windows.h" #include <winsock2.h> #include <ws2tcpip.h>
谢谢
很久以前,当void *不符合标准时,套接字API就出现了.指向sockaddr的指针在整个套接字函数中使用,与我们使用void *指针的方式完全相同.这些函数希望您将指针传递给与您使用的协议相关的结构.令人不快的是,每当你将指针传递给你的地址结构时,你都需要一个演员,但你无能为力.
IPv4示例:
struct sockaddr_in address; // ... memset( &address,sizeof(address) ); address.sin_family = AF_INET; address.sin_port = htons(1100); address.sin_addr.s_addr = INADDR_ANY; if ( bind( sock,(struct sockaddr *)&address,sizeof(address) ) < 0 ) { //.... }
以上是大佬教程为你收集整理的windows – Struct sockaddr,sin_family不是成员全部内容,希望文章能够帮你解决windows – Struct sockaddr,sin_family不是成员所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。