ret = recvmsg(sock[0], &msgr, 0);
if(ret == -1 ){
printf("recvmsg err\n");
return -1;
}
printf("接收成功!\n");
printf("收到数据为: %s\n", recv_buf);
/* 关闭sockets */
close(sock[0]);
close(sock[1]);
return 0;
}
执行程序结果:
yu@ubuntu:~/Linux/217/pro_pool/socketpair$ gcc -o sendmsg sendmsg.c
yu@ubuntu:~/Linux/217/pro_pool/socketpair$ ./sendmsg
开始发送数据:
发送的数据为: it is a test
发送成功!
接收成功!
收到数据为: it is a test
程序分析:由套接字sock[1]发数据到本地主机,由套接字sock[0]接收发送过来的数据。