- 论坛徽章:
- 1
|
如何根据一个socket的fd获取如下信息?
- GETSOCKNAME(2) Linux Programmer's Manual GETSOCKNAME(2)
- NAME
- getsockname - get socket name
- SYNOPSIS
- #include <sys/socket.h>;
- int getsockname(int s, struct sockaddr *name, socklen_t *namelen);
- DESCRIPTION
- Getsockname returns the current name for the specified socket. The
- namelen parameter should be initialized to indicate the amount of space
- pointed to by name. On return it contains the actual size of the name
- returned (in bytes).
- RETURN VALUE
- On success, zero is returned. On error, -1 is returned, and errno is
- set appropriately.
- ERRORS
- EBADF The argument s is not a valid descriptor.
- ENOTSOCK
- The argument s is a file, not a socket.
- ENOBUFS
- Insufficient resources were available in the system to perform
- the operation.
- EFAULT The name parameter points to memory not in a valid part of the
- process address space.
- CONFORMING TO
- SVr4, 4.4BSD (the getsockname function call appeared in 4.2BSD). SVr4
- documents additional ENOMEM and ENOSR error codes.
- NOTE
- The third argument of getsockname is in reality an `int *' (and this is
- what BSD 4.* and libc4 and libc5 have). Some POSIX confusion resulted
- in the present socklen_t. The draft standard has not been adopted yet,
- but glibc2 already follows it and also has socklen_t. See also
- accept(2).
- SEE ALSO
- bind(2), socket(2)
- BSD Man Page 1993-07-24 GETSOCKNAME(2)
复制代码 |
|