int main(int argc, char **argv) { int portNumber; int listenedFD; checkArgument(argc, argv); Signal(SIGCHLD, sigChildHandler); portNumber = getPortNumber(argc, argv); listenedFD = Open_listenfd(portNumber); for (;;) serveClients(listenedFD); }
int main(int argc, char **argv) { char *portNumber = getPortNumber(argc, argv); if (NULL == portNumber) { return -1; } if (checkPortNumber(portNumber) != 0) { help(); return -1; } if (argc > 1) server(atoi(portNumber)); else server(0); return 0; }
Logger *LoggerManager::CreateLoggerInstance() { if (loggerInstance == NULL) { switch(loggerStyle) { case LoggerManager::DEFAULT: loggerInstance = new LoggerDefault(getLoggerLvl()); break; case LoggerManager::LOGFILE: loggerInstance = new LoggerLogFile(getLogfileName(), getWritemode(), getLoggerLvl()); break; case LoggerManager::COLOR: loggerInstance = new LoggerColor(getLoggerLvl(), colors); break; case LoggerManager::NETWORKSTREAM: loggerInstance = new LoggerNetworkStream(getProtocol(), getIpAddress(), getPortNumber(), getLoggerLvl()); break; } } return loggerInstance; }
void setPortAdcon( unsigned int num_port ) { unsigned char port, number; getPortNumber( num_port, &port, &number ); switch( port ) { case PORTNUM_A: TRISA |= number; ANSELA |= number; break; case PORTNUM_C: TRISC |= number; ANSELC |= number; break; default: break; } }
int zmq::norm_address_t::to_string_raw (std::string &addr_) { std::string id, iface, host, port; host = std::string (hostName); std::stringstream s1; s1 << ":" << (uint32_t)getPortNumber (); port = s1.str (); if (localId != NORM_NODE_NONE && localId != NORM_NODE_ANY) { std::stringstream s2; s2 << (uint32_t)localId << ","; id = s2.str (); } if (ifaceName[0] != '\0') { iface = std::string (ifaceName) + ";"; } addr_ = std::string ("norm://") + id + iface + host + port; // There should at least be a non-empty host name - compose address anyway return (hostName[0] == '\0' ? -1 : 0); }
void resetPortAdcon( unsigned int num_port ) { unsigned char port, number; if( isPortReadyAdcon( num_port ) == TRUE ) { getPortNumber( num_port, &port, &number ); switch( port ) { case PORTNUM_A: ANSELA &= ~number; TRISA &= ~number; break; case PORTNUM_C: ANSELC &= ~number; TRISC &= ~number; break; default: break; } } }
/*init_add_interface功能:初始化了4个网口的mac地址等信息*/ void init_add_interface(struct sr_instance* sr, struct sr_vns_if* vns_if) { /* do not add any of the cpu interfaces */ if (strstr(vns_if->name, "cpu")) {//函数功能是查name里面是否有cpu这个字符串,没有返回NULL return; } router_state* rs = (router_state*)sr->interface_subsystem; node* n = node_create(); iface_entry* ie = (iface_entry*)malloc(sizeof(iface_entry)); bzero(ie, sizeof(iface_entry)); ie->is_active = 1; ie->ip = vns_if->ip; ie->mask = vns_if->mask; ie->speed = vns_if->speed; ie->is_wan = 0; memcpy(ie->addr, vns_if->addr, ETH_ADDR_LEN); memcpy(ie->name, vns_if->name, IF_LEN); // ie->hello_interval = PWOSPF_NEIGHBOR_TIMEOUT; /* router id is the same as the ip of the 0th iface */ if(strncmp(ie->name, "eth0", IF_LEN) == 0) { rs->router_id = ie->ip; } n->data = ie; if (rs->if_list == NULL) { rs->if_list = n; } else { node_push_back(rs->if_list, n); } if (rs->is_netfpga) { /* set this on hardware */ unsigned int mac_hi = 0; mac_hi |= ((unsigned int)vns_if->addr[0]) << 8; mac_hi |= ((unsigned int)vns_if->addr[1]); unsigned int mac_lo = 0; mac_lo |= ((unsigned int)vns_if->addr[2]) << 24; mac_lo |= ((unsigned int)vns_if->addr[3]) << 16; mac_lo |= ((unsigned int)vns_if->addr[4]) << 8; mac_lo |= ((unsigned int)vns_if->addr[5]); switch (getPortNumber(vns_if->name)) { case 0: writeReg(&rs->netfpga, ROUTER_OP_LUT_MAC_0_HI_REG, mac_hi); writeReg(&rs->netfpga, ROUTER_OP_LUT_MAC_0_LO_REG, mac_lo); break; case 1: writeReg(&rs->netfpga, ROUTER_OP_LUT_MAC_1_HI_REG, mac_hi); writeReg(&rs->netfpga, ROUTER_OP_LUT_MAC_1_LO_REG, mac_lo); break; case 2: writeReg(&rs->netfpga, ROUTER_OP_LUT_MAC_2_HI_REG, mac_hi); writeReg(&rs->netfpga, ROUTER_OP_LUT_MAC_2_LO_REG, mac_lo); break; case 3: writeReg(&rs->netfpga, ROUTER_OP_LUT_MAC_3_HI_REG, mac_hi); writeReg(&rs->netfpga, ROUTER_OP_LUT_MAC_3_LO_REG, mac_lo); break; } } /* add a local ip filter as well */ struct in_addr ip; ip.s_addr = vns_if->ip; add_local_ip_filter(rs, &ip, vns_if->name); }
Socket::Socket(const int sockfd) :m_sockfd(sockfd) { m_portnum = getPortNumber(); }
int main(int argc, char *argv[]){ //Variable definitions that are socket related int serverSock, clientSock, sizeOfSockAddr; struct sockaddr_in server, client; if(argc != 4) //./server myPort otherPort1 otherPort2 { perror("Wrong number of arguments"); exit(INVALID_ARGS); } //Port numbers from command line MY_PORT = getPortNumber(argv[1]); OTHER_PORT1 = getPortNumber(argv[2]); OTHER_PORT2 = getPortNumber(argv[3]); //Create Socket for the server if((serverSock = socket(AF_INET, SOCK_STREAM, 0)) == -1){ perror("Failed to create a socket"); exit(SOCKET_FAILED); } puts("Created server socket."); //Prepare sockAddr struct server.sin_family = AF_INET; server.sin_port = htons((short)MY_PORT); server.sin_addr.s_addr = htonl(INADDR_ANY); //Bind socket to port if(bind(serverSock, (struct sockaddr *)&server, sizeof(server)) == -1){ perror("Failed to bind a socket to a port"); exit(BIND_FAILED); } puts("Binded a socket to port."); //Who is the primary? setPrimary(); if(IS_PRIMARY) { printf("Primary: %i\n", MY_PORT); } else { printf("Back-up: %i\n", MY_PORT); } while(1) { //Listen on a socket if(listen(serverSock, BACKLOG) == -1){ perror("Failed listening on a socket."); exit(LISTEN_FAILED); } puts("Listening on a socket."); //Accept client connection sizeOfSockAddr = sizeof(struct sockaddr_in); if((clientSock = accept(serverSock, (struct sockaddr *)&client, (socklen_t*)&sizeOfSockAddr)) == -1) { perror("Failed to accept a connection."); exit(ACCEPT_FAILED); } printf("My Client: %i\n", clientSock); puts("Connection established with a client."); //Receive request pthread_t tid1; //pthread_create(&tid1, NULL, getInput, &connBundle); //1. Request: The front end issues the request, containing a unique identifier, to the primary replica manager. pthread_create(&tid1, NULL, getInput, (void*)clientSock); } return 0; }