- /* connect to server */
- if (connect(ptr->fd, (struct sockaddr *) &servAddr, sizeof(servAddr)) < 0)
- {
- fprintf(stderr, "cannot connect to host '%s'\n", server_name);
- return MEMCACHED_HOST_LOCKUP_FAILURE;
+ /* bind any port number */
+ localAddr.sin_family = AF_INET;
+ localAddr.sin_addr.s_addr = htonl(INADDR_ANY);
+ localAddr.sin_port = htons(0);
+
+ if (bind(ptr->hosts[0].fd, (struct sockaddr *) &localAddr, sizeof(localAddr)) < 0)
+ {
+ fprintf(stderr, "cannot bind port TCP %u\n", ptr->hosts[x].port);
+ return(MEMCACHED_CONNECTION_BIND_FAILURE);
+ }
+
+ /* connect to server */
+ if (connect(ptr->hosts[0].fd, (struct sockaddr *) &servAddr, sizeof(servAddr)) < 0)
+ {
+ fprintf(stderr, "cannot connect to host '%s' (%u) (error: %s)\n", ptr->hosts[x].hostname,
+ ptr->hosts[x].port,
+ strerror(errno));
+ return MEMCACHED_HOST_LOCKUP_FAILURE;
+ }