关于错误errno EFAULT:Bad address
UDP socket : read error Bad address
在写UDP server。在调用套接字读取的时候发生了这个错误。 通过看errno.h 能够看到相应的错误号 EFAULT:
- Bad address (POSIX.1),在stackoverflow上看到的这个解释不错:
- It happen if the memory address of some argument passed to sendto (or more generally to any system call) is invalid. Think of it as a sort of SIGSEGV in kernel land regarding your syscall. For instance, if you pass a null or invalid buffer pointer (for reading, writing, sending, recieving...)。说明在对套接字上调用某些函数的时候传入了空指针等非法參数,的确如此。