instance method
BasicSocket#getsockname
() -> ::String
basicsocket.getsockname => sockaddr
ext/socket/basicsocket.c
View on GitHub ↗
static VALUE
bsock_getsockname(VALUE sock)
{
union_sockaddr buf;
socklen_t len = (socklen_t)sizeof buf;
socklen_t len0 = len;
rb_io_t *fptr;
GetOpenFile(sock, fptr);
if (getsockname(fptr->fd, &buf.addr, &len) < 0)
rb_sys_fail("getsockname(2)");
if (len0 < len) len = len0;
return rb_str_new((char*)&buf, len);
}
Returns the local address of the socket as a sockaddr string.
Example
TCPServer.open("127.0.0.1", 15120) {|serv| p serv.getsockname #=> "\x02\x00;\x10\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00" }
If Addrinfo object is preferred over the binary string, use BasicSocket#local_address.
See also
#getpeername
#getsockopt
#getpeereid
#local_address
also in
4.1 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0