这篇教程C++ transmit_chars函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中transmit_chars函数的典型用法代码示例。如果您正苦于以下问题:C++ transmit_chars函数的具体用法?C++ transmit_chars怎么用?C++ transmit_chars使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了transmit_chars函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: messagevoid ForwMachine::connect_FWT(TalkConnection * tcCaller){ /** FWT : This is the method in which we take the connection to both * clients and send each character received from one side to the other * side. This allows to pass a firewall for instance. */ message("-- connect_FWT : Waiting for connection from Answerer (%s)", answ_user); if (tcAnsw->accept()) { message("-- connect_FWT : Trying to connect to Caller (%s)",caller_username); if (tcCaller->connect()) { message("-- connect_FWT : Connected to caller (%s)", caller_username); message("-- connect_FWT : Connected to both. Let's go"); int socktC = tcCaller->get_sockt(); int socktA = tcAnsw->get_sockt(); int max_sockt = (socktC>socktA) ? socktC : socktA; unsigned char buf[BUFSIZ]; fd_set read_mask; int nb; int nbtot = 0; for (;;) { FD_ZERO(&read_mask); FD_SET(socktA, &read_mask); // wait on both connections FD_SET(socktC, &read_mask); nb = select(max_sockt+1, &read_mask, NULL, NULL, NULL); // no timeout if (nb <= 0) { if (errno == EINTR) { continue; } /* panic, we don't know what happened */ TalkConnection::p_error("Unexpected error from select"); } if (FD_ISSET(socktA, &read_mask)) { /* There is data on sockt A */ nb = transmit_chars(socktA, socktC, buf); if (nb==0) return ; } if (FD_ISSET(socktC, &read_mask)) { /* There is data on sockt C */ nb = transmit_chars(socktC, socktA, buf); if (nb==0) return ; nbtot += nb; if (nbtot == 3) // just after the 3 edit chars { struct hostent * hp = gethostbyaddr((char *)&caller_machine_addr, sizeof (struct in_addr), AF_INET); if (hp != (struct hostent *)0) { // Write first line for answerer. // i18n() missing sprintf((char *)buf, "Speaking to %[email C++ transmit_entity_comms_message函数代码示例 C++ transmit函数代码示例
|