ÅëÇÕ°Ë»ö

[°øÇÐ]select()¸¦ »ç¿ëÇÏ¿© 1°³ÀÇ process°¡ ¿©·¯ °³ÀÇ client ó¸®ÇÏ´Â ¿¡ÄÚ ¼­¹ö ÇÁ·Î±×·¥

mare1472 > ¹®¼­¹Ú½º > ±âº» Æú´õ | 2007/01/28 ±¸¸Å(4) ¤Ó Á¶È¸(288)
¹®¼­ ¿ä¾àÁ¤º¸
±¸¸ÅÀÚ Æò°¡
  • ÆÇ¸Å°¡°Ý : 400¿ø (6Pages)
  • ÀúÀ۽ñâ : 2006/11
  • Ãßõµ¶ÀÚ : Àüü
¹®¼­ »ó¼¼Á¤º¸
¸®Æ÷Æ® ½ºÅ©¸°  (1/1 screen)
¡Ø ÃÖ´ë 10ÆäÀÌÁö±îÁö ¸®Æ÷Æ® ½ºÅ©¸° À̹ÌÁö¸¦ »ý¼ºÇÕ´Ï´Ù.
¡Ø 5ÆäÀÌÁö ÀÌ»óÀÇ ÀÚ·áÀÎ °æ¿ì À̹ÌÁö¸¦ Ŭ¸¯ÇϽøé 2,4 ÆäÀÌÁö¿¡ ÇØ´çÇÏ´Â Å« À̹ÌÁö¸¦ È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù
¼Ò°³±Û select()¸¦ »ç¿ëÇÏ¿© 1°³ÀÇ process°¡ ¿©·¯ °³ÀÇ client ó¸®ÇÏ´Â ¿¡ÄÚ ¼­¹ö ÇÁ·Î±×·¥
¸ñÂ÷ °úÁ¦ ³»¿ë
tcp_echoserv_sel.c
echo_client.c
½ÇÇà °á°ú ĸÃÄ
º»¹®³»¿ë #include
#include
#include
#include
#include
#include
#include
#include
#define MAXLINE 512
#define MAX_SOCK 64

int getmax(int);
void removeClient(int); /* Å»Åð ó¸® ÇÔ¼ö */
int maxfdp1; /* ÃÖ´ë ¼ÒÄϹøÈ£ +1 */
int num_chat = 0; /* client ¼ö */
int client_s[MAX_SOCK]; /* client ¼ÒÄϹøÈ£ ¸ñ·Ï */
int main(int argc, char *argv[]) {
char rline[MAXLINE], my_msg[MAXLINE];
char *start = "Connected to chat_server n";
int i, j, n;
int s, client_fd, clilen;

fd_set read_fds; /* Àб⸦ °¨ÁöÇÒ ¼ÒÄϹøÈ£ ±¸Á¶Ã¼ */
struct sockaddr_in client_addr, server_addr;

if(argc != 2) {
printf("»ç¿ë¹ý :%s portn", argv[0]);
exit(0);
}
 
Çб³Á¤º¸ 2ÁÖ°£ ´Ù¿î¹ÞÀº ÇлýÀÇ Çб³Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù.(5P ¼Ò¿ä)
ÀúÀÛ±Ç Á¤º¸ À§ Á¤º¸ ¹× °Ô½Ã¹° ³»¿ëÀÇ Áø½Ç¼º¿¡ ´ëÇÏ¿© ÇØÇÇÄ·ÆÛ½º´Â º¸ÁõÇÏÁö ¾Æ´ÏÇϸç, ÇØ´ç Á¤º¸ ¹× °Ô½Ã¹° ÀúÀ۱ǰú ±âŸ ¹ýÀû Ã¥ÀÓÀº ÀÚ·á µî·ÏÀÚ¿¡°Ô ÀÖ½À´Ï´Ù.
À§ Á¤º¸ ¹× °Ô½Ã¹° ³»¿ëÀÇ ºÒ¹ýÀû ÀÌ¿ë, ¹«´Ü ÀüÀ硤¹èÆ÷´Â ±ÝÁöµÇ¾î ÀÖ½À´Ï´Ù.ÀúÀÛ±ÇÄ§ÇØ, ¸í¿¹ÈÑ¼Õ µî ºÐÀï¿ä¼Ò ¹ß°ß½Ã °í°´¼¾ÅÍÀÇ ÀúÀÛ±ÇÄ§ÇØ ½Å°í¼¾Å͸¦ ÀÌ¿ëÇØ Áֽñ⠹ٶø´Ï´Ù.

±¸¸ÅÆò°¡(
0
)
±¸¸Å¹®ÀÇ(
0
)
Æ®·¢¹é(
0
)