[英]Get time stamp from cmsg can be NULL?
此代碼嘗試使用struct timespec *stamp = (struct timespec *)CMSG_DATA(cmsg);
打印數據包的時間戳
如果這是UDP數據包。 CMSG_DATA(cmsg)
有什么方法可以返回 NULL?
如果您查看CMSG_DATA的定義,您會看到
#define CMSG_DATA(cmsg) ((void *)((char *)(cmsg) + CMSG_ALIGN(sizeof(struct cmsghdr))))
這為cmsg
添加了一個偏移量。 除非您設法將cmsg
輸入到添加該偏移量后評估為NULL
的宏中,否則結果永遠不會出現NULL
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.