-1
sendto()给我“无效的参数”,因为len从20减少20个字节。 为什么调用recvfrom()修改len?recvfrom()修改len?
s=socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
struct sockaddr_ll sll;
len=sizeof(sll);
bzero((char *)&sll, sizeof(sll));
sll.sll_ifindex=3;
rf=recvfrom(s, buf, sizeof(buf), 0, (struct sockaddr *) &sll, &len);
st=sendto(s, buf, 6+6+2+20+8+8, 0, (struct sockaddr *) &sll, len);
想...为什么你要传递一个指向实际的'len'的指针? –