Çë½Ì´ó¼Ò£¬Õâ¸ö¸Ä³Élinux´úÂë - C/C++ / CÓïÑÔ
C/C++ code:
struct timeval timeout;
fd_set writefds;
const char* optival;
int nByte = MAX_REV_SIZE;
writefds.fd_count = 1;
writefds.fd_array[0] = m_sock;
timeout.tv_sec = 10;
timeout.tv_usec = 0;
optival = (const char *)&nByte;
setsockopt(SI->m_sock, SOL_SOCKET, SO_RCVBUF, optival, 4);
status = select(0, NULL, &writefds, NULL,(const struct timeval *)&timeout);
¸ÄÔõô¸Ä£¿Ð»Ð»
writefds.fd_count = 1;
writefds.fd_array[0] = m_sock;
ÕâÁ½¾ä¾ÍÓÐÎÊÌ⣬ºÃÏñ
Äã¾Í²»ÄܺúõØÓÃ
FD_SET(m_sock, &writefds)
ô¡¡
ÁíÍ⣬select µÄµÚÒ»¸ö²ÎÊýÊÇ 1 °É¡¡
ºÃÏñ²»ÓøľÍÄÜÓðɡ£ºÜ¶àµ×²ãµÄ¡£winºÍlinuxÒ»ÑùµÄ¡£
ºÃÏñ²»ÓøÄ
»Ø¸´1Â¥£¬ÊµÔÚ²»Ì«¶®£¬Õâ¸ö´úÂëÒ²ÊDzο¼±ðÈ˵ģ¬winÏ¿ÉÒÔÕý³£Óã¬linux fd_count fd_arrayºÃÏñ²»ÈÏ
»¹ÓÐʲôºÃµÄ°ì·¨£¬Çë½Ì£¬
ͬÒ⣬linux ϶¼ÊÇÕâÑù×ÓÓõİɡ£
ºÃÏñû´í¡£¡£¡£ÊDZàÒë³ö´íÂð£¿ÌùһϴíÎóÂë¿´¿´
1¥˵µÃºÜ¶Ô,ÎÒ¿´Â¥Ö÷Õâ³ÌÐòÊÇÂÒдµÄ°É
ÖйúÓоäÍÁ»°½ÐϹ¸ã
Ïà¹ØÎÊ´ð£º
ÓÐÒ»10*10¾ØÕ󣬳ýÈ¥µÚÒ»¸öµã£¨0£¬0£©ºÍ×îºóÒ»µã£¨9£¬9£©£¬»¹Óа˸öµãΪ1£¬ÆäËû¶¼Îª0£¬ÒªÇóÓöþάÊý×é±íʾ¡£°Ë¸öµãÊÇËæ»úÉú³ÉµÄ£¬±àдÏà¹Ø³ÌÐò±íʾ¾ØÕóËùÓпÉÄÜÇé¿ö¡£
ÕæÐÄÇó½Ì¸÷λ¸ßÊÖ£¬°¥£¡±¾ÈËÌ«²ËÁË£¡ºÇºÇ£¡
......
ÔÚ¸ùĿ¼/libÖдæ·ÅÒ»¸ölog.c£¬log.h£¬²¢ÓÃÏÂÃæµÄÓï¾ä£º
gcc -c log.c
ar crv liblog.a log.o
±àÒë³öÒ»¸öliblog.a¾²Ì¬¿â£¬È»ºóÔÚÎļþ¼Ð£º/testfileÖд´½¨Ò»¸ötest.cºÍtestc.c£¬test.cÖÐÒýÓÃÁËtestc.cÖж¨ÒåµÄ·½·¨ ......
ÔھƵê¹ÜÀíϵͳÖÐ,ÓÐÒ»¸ö¶ÔÄÚµÄϵͳ,¹©Ç°Ì¨·þÎñÔ±ºÍ¾ÀíʹÓÃ
»¹ÓÐÒ»¸ö¾ÍÊǶÔÍâ,Èÿͻ§¿ÉÒÔÔÚÍøÉÏÔ¤¶©·¿¼ä,
ËüÃÇÖ®¼äÊÇÔõôͨѶµÄ.?µ±ÎÒÌá½»Ô¤¶©·¿¼äÐÅÏ¢µÄʱºò,
ÔÚ¶ÔÄÚµÄϵͳÖÐ,ÈçºÎÖªµÀÎÒÒѾÌá½»ÁËÐÅÏ¢¹ýÈ¥.Ê¹Ç ......
ÈçºÎ½«Ò»¸öListBoxÖеÄÊý¾Ý´æÔÚÊý¾Ý¿âÖеÄÒ»¸ö×Ö¶ÎÏÂÃæ£¬²¢ÇÒÿÌõ¼Ç¼µÄ×Ö·û´®¸öÊý²»Ò»¶¨ ÒÔ¼°ÈçºÎ´ÓÊý¾Ý¿âÖжÁÈ¡¸ÃListBoxÖеÄËùÓмǼ
C/C++ code:
//´æÈëÊý¾Ý¿â
void __fastcall TForm1::Button5Click(TO ......