私は客観的なCネットワーキングの初心者です。私はシンプルなWOLアプリケーションのために以下のコードをまとめました。私は正常にソケットを作成し、アドレスを設定することができます(私はローカルマシンのアドレスを設定することができますが、別の質問thats)。 しかし、CFSocketSendDataを使用してデータを送信しようとすると、データは送信されません(送信されなかったデータメッセージが表示されます)。 CFSocketSendDataを正しく使用していますか、または別の場所に問題がありますか?CFSocketSendDataはデータを送信しませんか?
ご協力いただきありがとうございます。ありがとうございます。
struct sockaddr_in addr;
memset(&addr, 0, sizeof(addr));
addr.sin_len = sizeof(addr);
addr.sin_family = AF_INET;
addr.sin_port = htons(PORT); //port
inet_aton(IP, &addr.sin_addr);//IP is the network IP of the machine e.g 192.168.0.2
NSData *address = [NSData dataWithBytes: &addr length: sizeof(addr)];
if (CFSocketSetAddress(WOLsocket, (CFDataRef)address) != kCFSocketSuccess){
NSLog(@"Address could not be set!");
}
else{
NSLog(@"Address set");
char ethadd []= "helloworld";
CFDataRef Data = CFDataCreate(NULL, (const UInt8*)ethadd, sizeof(ethadd));
if (CFSocketSendData(WOLsocket, NULL, Data, 0) < 0){
NSLog(@"Data could not be sent!");
}
else NSLog(@"Data Sent");
}