winapi - How to bind socket to local addreess with TCPv6 -
i have port existing win api application work tcpv6. can't figure out how bind socket localhost.
earlier was:
struct sockaddr_in serveraddress; listensocket = wsasocket(af_inet, sock_stream, ipproto_tcp, null, 0, wsa_flag_overlapped); ... serveraddress.sin_family = af_inet; serveraddress.sin_addr.s_addr = inet_addr("127.0.0.1"); serveraddress.sin_port = htons(nportno);
now, i'm trying:
struct sockaddr_in serveraddress; listensocket = wsasocket(af_inet6, sock_stream, ipproto_tcp, null, 0, wsa_flag_overlapped); ... serveraddress.sin_family = af_inet6; serveraddress.sin_addr.s_addr = inet_addr("::1"); serveraddress.sin_port = htons(nportno);
and bind returns socket_error
there page ms https://msdn.microsoft.com/en-us/library/windows/desktop/ms737937%28v=vs.85%29.aspx there no bind example
i think want this:
struct sockaddr_in6 serveraddress; listensocket = wsasocket(af_inet6, sock_stream, ipproto_tcp, null, 0, wsa_flag_overlapped); ... serveraddress.sin6_family = af_inet6; if (inetpton(af_inet6, "::1", sockaddr.sin6_addr.s6_addr) != 1) printf("error, inet_pton() failed!\n"); serveraddress.sin6_port = htons(nportno);
Comments
Post a Comment