本文整理汇总了C++中socket_t::connect方法的典型用法代码示例。如果您正苦于以下问题:C++ socket_t::connect方法的具体用法?C++ socket_t::connect怎么用?C++ socket_t::connect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类socket_t
的用法示例。
在下文中一共展示了socket_t::connect方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char *argv[]) {
//clear the master and temp sets
FD_ZERO(&master);
FD_ZERO(&controlSocks);
char c;
int hSocket;
uint16_t number=0;
uint64_t lastAnnounceTime=0;
Reconnector reconnector;
set_terminate(terminateFcn);
void (*prev_fn)(int);
prev_fn = signal (SIGINT,terminateFcn);
if (prev_fn==SIG_ERR)
makeLog(LOG_ERR,"Main: Unable to set termination funtion");
while ((c = getopt (argc, argv, "fvc:")) != -1)
switch (c) {
case 'f':
fflag = true;
break;
case 'v':
vflag = true;
break;
case 'c':
configFile = optarg;
break;
case '?':
if (optopt == 'c')
fprintf (stderr, "Main: Option -%c requires an argument.\n", optopt);
else if (isprint (optopt))
fprintf (stderr, "Main: Unknown option `-%c'.\n", optopt);
else
fprintf (stderr, "Main: Unknown option character `\\x%x'.\n", optopt);
return 1;
default:
abort ();
}
Config config;
readConfig(config);
makeLog(LOG_DEBUG,"Read configuration");
if (!pidFile.empty()) {
makeLog(LOG_DEBUG,"Main: Checking pid file: %s",pidFile.c_str());
ifstream pidfile(pidFile.c_str());
if (pidfile.is_open()) {
char line[20];
int otherpid;
pidfile.getline(line,sizeof(line));
sscanf(line,"%u",&otherpid);
if (kill(otherpid,0)==0) {
makeLog(LOG_ERR,"Main: Other instance is running: %d",otherpid);
pidFile="";
terminate();
}
pidfile.close();
}
}
// makeLog(LOG_DEBUG,"PID check finished");
if (!fflag) daemon (0,1);
if (!pidFile.empty()) {
ofstream pidfile;
pidfile.open(pidFile.c_str());
pidfile << getpid();
pidfile << "\n";
pidfile.close();
}
if (listeningArgs.proto.compare("tcp")==0) {
//get the listener
if(listener.init(AF_INET, SOCK_STREAM, 0) == -1) {
makeLog(LOG_ERR,"Listener: Unable to create socket");
exit(1);
}
listener.peer.set_in(listeningArgs.host,listeningArgs.port);
if (listener.connect() < 0) {
makeLog(LOG_ERR,"Listener: Cannot connect: %s;",strerror(errno));
reconnector.add(&listener,reconnectListener,NULL);
} else {
// add the listener to the master set
listener.updatefdmax(&fdmax);
makeLog(LOG_INFO,"Listener: Connected to %s:%d;",listeningArgs.host.c_str(),listeningArgs.port);
}
FD_SET(listener.getHandle(), &master);
} else {
const bool mcast=((inet_addr(listeningArgs.host.c_str()) & MCAST_MASK) == MCAST_ADDR);
//get the listener
if(listener.init(AF_INET, SOCK_DGRAM, 0) == -1) {
//.........这里部分代码省略.........