sockfd = socket(AF_INET, SOCK_DGRAM, 0);
でソケットを開くには、ソケットの送信元ポートが割り当てられているどのような段階では
bzero((char *) &serveraddr, sizeof(serveraddr));
serveraddr.sin_family = AF_INET;
bcopy((char *)server->h_addr,
(char *)&serveraddr.sin_addr.s_addr, server->h_length);
serveraddr.sin_port = htons(portno);
sendto(sockfd, buf, strlen(buf), 0, &serveraddr, serverlen);
でパケットを送信しますか? socket()
またはsendto()
にありますか?
sendto()
のすべてのコールで送信元ポートは変更されませんか?
'bzero()'を呼び出すと、 'serveraddr'のすべてが0x00に設定されます。したがって、 'bcopy()'を呼び出すと、すべて0x00のフィールドがソーシングされます。そして、あなたは 'server-> h_length'という値をどこで得ていますか?したがって、投稿されたコードはナンセンスです。データ宣言などを含むコードを投稿してください – user3629249