大家好 那么我正在尝试执行简单的TCP / IP连接并向远程主机发送3个双打。我在MRI扫描仪上研究VxWorks。
我正在使用socket.h初始化套接字但是缺少netinet / in.h(具体到这个自定义的编程环境,我认为)。 这真的很烦人,因为sockaddr_in在netinet / in.h中。
问题是在连接函数中,sockaddr_in在sockaddr(socket.h)中重新编写
我的问题是:是否可以仅使用sockaddr初始化IP地址
int sockfd, portno, n;
struct sockaddr_in serv_addr;
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (connect(sockfd,(struct sockaddr *) &serv_addr,sizeof(serv_addr)) < 0)
int buffer=0;
n = write(sockfd,buffer,strlen(buffer));
close(sockfd);
非常感谢你的帮助, 皮埃尔
答案 0 :(得分:0)
是的,sockaddr和sockaddr_in是可以互换的。你可以使用其中一个。它们都包含16个字节。在您的代码中,您可以定义: struct sockaddr serv_addr; 它会是一样的。