Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 May 2006 12:04:10 +0800
From:      David Xu <davidxu@freebsd.org>
To:        current@freebsd.org
Subject:   couldn't bind to local address
Message-ID:  <200605211204.10259.davidxu@freebsd.org>

next in thread | raw e-mail | index | archive | help
It is very weired that on AMD64, bind() can not bind to local address,
the following code prints out "bind(): Can't assign requested address".

David Xu
---


include <netinet/in.h>
#include <sys/socket.h>
#include <stdio.h>

int main()
{
	struct sockaddr_in addr;
	int s;

	s = socket(AF_INET, SOCK_STREAM, 0);
	if (s == -1) {
		perror("socket()");
		return (1);
	}

	addr.sin_family = AF_INET;
	addr.sin_port = htons(9000);
	addr.sin_addr.s_addr = inet_addr("127.0.0.1");

	if (bind(s, (struct sockaddr *)&addr, sizeof(addr))) {
		perror("bind()");
		return (2);
	}

	close(s);
	return (0);
}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200605211204.10259.davidxu>