U E D R , A S I H C RSS

Project Virush/Prototype

ProjectVirush/Rule을 λ§Œμ‘±ν•˜λŠ” κ²ƒμ²˜λŸΌ λ³΄μ΄λŠ” ν”„λ‘œν† νƒ€μž…μ„ λ§Œλ“ λ‹€.

μ§€μ—­ λ‹¨μœ„λ‘œ 이름, μˆ™μ£Ό 개체수, κΈ°λ³Έ 항체 λ³΄μœ λŸ‰, νŠΉμ • λ°”μ΄λŸ¬μŠ€ κ°œμ²΄μˆ˜μ™€ 그에 ν•΄λ‹Ήν•˜λŠ” μŠ΅λ“ 항체 λ³΄μœ λŸ‰μ„ κ°€μ§„λ‹€.

μ§€μ—­ κ°„ λžœλ€ν•œ 숫자의 μˆ™μ£Ό 이동이 μΌμ–΄λ‚œλ‹€.

λ°”μ΄λŸ¬μŠ€λŠ” 증식 속도, 잠볡기, 독성을 κ°€μ§„λ‹€. μ΄λŠ” μ‹œκ°„μ— κ΄€ν•œ ν•¨μˆ˜(f(t))이닀.

Client Framework

~cpp
//Project -> Setting -> LINK 메뉴 -> Object/library modules: 의 끝뢀뢄에 ws2_32.lib λ₯Ό μΆ”κ°€ν•œλ‹€.  

#include <stdio.h> 
#include <winsock2.h> 

#define    PORT 9999         //    μ„œλ²„μ˜ 9999번 포트λ₯Ό μ—°λ‹€ 
#define    BACKLOG    5 
#define SERVER_IP "127.0.0.1" 

void error(char    *buf) 
{ 
    puts(buf), exit(1); 
} 

main(){ 
    WSADATA    wsaData; 

    SOCKET server_sock;           // μ„œλ²„μ˜ socket을 생성 

    SOCKADDR_IN    server_addr;    // λ„€νŠΈμ›Œν¬μ˜ 정보λ₯Ό 담을 structure    생성. 

    char msg[] = "My name is Na Hwidong,."; 
    char question[200]; 
    int queslen; 

    if(    WSAStartup(MAKEWORD(2,2), &wsaData)    == -1 ) 
        error("WSAStartup Error"); 


    // socket μ„€μ • 
    // ν”„λ‘œκ·Έλž˜λ¨ΈλŠ”    이것을 톡해    λ„€νŠΈμ›Œν¬μ™€ λŒ€ν™”λ₯Ό ν•œλ‹€. 

    server_sock    = socket(AF_INET, SOCK_STREAM, 0); 
    if(    server_sock    == -1 ) 
        error("server socket error"); 


    // λ„€νŠΈμ› 정보 μ„€μ • 
    // 이것은 ν”„λ‘œκ·Έλž¨μ΄ socketκ³Ό μ—°κ²°ν•  정보λ₯Ό    λ‹΄κ³ μžˆλ‹€. 

    memset((SOCKADDR_IN    *)&server_addr,    0, sizeof(SOCKADDR_IN)); 
    // struct sockaddr_in     ->       SOCKADDR_IN 
    server_addr.sin_family = AF_INET; 
    server_addr.sin_addr.s_addr 
        = inet_addr(SERVER_IP);     //    둜컬 μ£Όμ†Œλ‘œ μ„€μ •ν•œλ‹€. 
    server_addr.sin_port = htons(PORT); 


    // μ„œλ²„μ— μ—°κ²°ν•œλ‹€. μ‹œλ„λ‚˜ ν•΄λ³΄μž. 
    if(    connect(server_sock, 
            (struct sockaddr *)&server_addr, 
             sizeof(struct    sockaddr)) == -1 ) 
        fprintf(stderr,    "μ„œλ²„μ—    connect    ν•  수 μ—†μŠ΅λ‹ˆλ‹€."), exit(1);     

     
    for( int i = 0 ; i < 3 ; i++ ){ 

        // μ—°κ²°ν•˜κ³  뭘 ν•΄μ•Όμ§€ κ·Έλƒμžˆμ—ˆλ„€..;; 
        queslen = recv( server_sock, question, sizeof(question), 0); 
        question[queslen] = '\0'; 
        printf( "I have to answer the next question. %s\n", question); 
        if( send(server_sock, msg, sizeof(msg), 0) == -1 ) 
            fprintf(stderr, "send error");  
        printf( "I sent an answer. The answer is %s\r\n", msg); 
        system("pause"); 
    } 
    WSACleanup(); 

    exit(0); 
    // exit둜 μ’…λ£Œλ₯Ό ν•˜λ©΄ λͺ¨λ“  파일    λ””μŠ€ν¬λ¦½ν„°λ₯Ό μžλ™μœΌλ‘œ λ‹«κ³  μ’…λ£Œν•œλ‹€. 
} 
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:24:06
Processing time 0.0085 sec