Example #1
0
int client_socket (char * host, char * port) {
    int status;
    int lsock = tcpsocket();
    if (lsock<0) {
        logging(LOG_ERROR, "can't create socket !!!");
        return -1;
    }
    if (tcpnonblock(lsock)<0) {
        logging(LOG_ERROR, "set nonblock, error: %m");
        tcpclose(lsock);
        return -1;
    }
    status = tcpstrconnect(lsock, host, port);
    if (status<0) {
        logging(LOG_WARN, "connect failed, error: %m");
        tcpclose(lsock);
        return -1;
    }
    if (status==0) { // connected immediately
        logging(LOG_INFO,"connected immediately");
        tcpnodelay(lsock);
    } else {
        logging(LOG_INFO,"connecting to %s:%s...", host, port);
    }
    return lsock;
}
Example #2
0
File: client.c Project: twonly/mis
void* ppfs_fsinit( struct fuse_conn_info* conn ) { //connect to MDS
  fprintf(stderr, "ppfs_fsinit\n");
  if((fd = tcpsocket())<0) {
    fprintf(stderr, "can't create socket\n");
    exit(1);
  } else {
    fprintf(stderr, "fd:%d\n", fd);
  }

  tcpnodelay(fd);
  if(tcpstrconnect(fd, ip, MDS_PORT_STR)<0) {
    fprintf(stderr, "can't connect to MDS (%s:%s)\n", ip, port);
    fd = -1;

    exit(1);
  }

  fprintf(stderr, "ppfs_init create socket: %u\n", fd);

  local_mds.sockfd = fd;
	tcpgetpeer(fd,&(local_mds.peerip),NULL);

  remote_mds.sockfd = -1;
  remote_mds.peerip = -1;
}