Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Jul 2002 15:50:41 -0600 
From:      Chris Given <term@velocitus.net>
To:        "'freebsd-net@freebsd.org'" <freebsd-net@freebsd.org>
Subject:   Bind to specific address on FreeBSD
Message-ID:  <B6C2B288BB8D5542AA2485606CD47462125366@exchange.rmci.net>

next in thread | raw e-mail | index | archive | help
I can't figure out why this code won't bind to 127.0.0.1 on FreeBSD. I get
an error "Can't assign requested address".

#include <stdio.h>
#include <sys/types.h>
#include <sys/time.h>
#include <time.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <stdlib.h>

int main() {
	int sock;
	struct sockaddr_in dp;
	unsigned long bind_to_addr = inet_addr("127.0.0.1");

	sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
	if(sock < 0) {
		printf("Error socket : %s\n", strerror(errno));
		return -1;
	}

	dp.sin_family = AF_INET;
	dp.sin_addr.s_addr = htonl(bind_to_addr);
	dp.sin_port = htons(1234);

	if(bind(sock, (struct sockaddr*)&dp, sizeof(struct sockaddr_in))!=0)
{
		printf("Bind failed : %s\n", strerror(errno));
	} else {
		printf("Bind success\n");
	}
}

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




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