int sockfd; struct sockaddr_in servaddr, localaddr; char *local_ip = "192.168.1.100"; // 你用网络接口的IP地址 sockfd = socket(AF_INET, SOCK_DGRAM, 0); bzero(&localaddr, sizeof(localaddr)); localaddr.sin_family = AF_INET; localaddr.sin_addr.s_addr = inet_addr(local_ip); localaddr.sin_port = htons(0); // 用任意端口 if (bind(sockfd, (struct sockaddr *)&localaddr, sizeof(localaddr)) < 0) { perror("bind failed"); close(sockfd); return -1; } bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = htonl(INADDR_ANY); servaddr.sin_port = htons(12345); sendto(sockfd, "hello", 5, 0, (struct sockaddr *)&servaddr, sizeof(servaddr)); close(sockfd);