<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=ProjectVirush%2FPrototype</id>
	<title>ProjectVirush/Prototype - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=ProjectVirush%2FPrototype"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=ProjectVirush/Prototype&amp;action=history"/>
	<updated>2026-05-15T16:06:33Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=ProjectVirush/Prototype&amp;diff=37781&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:24, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=ProjectVirush/Prototype&amp;diff=37781&amp;oldid=prev"/>
		<updated>2021-02-07T05:24:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[ProjectVirush/Rule]]을 만족하는 것처럼 보이는 프로토타입을 만든다.&lt;br /&gt;
&lt;br /&gt;
지역 단위로 이름, 숙주 개체수, 기본 항체 보유량, 특정 바이러스 개체수와 그에 해당하는 습득 항체 보유량을 가진다.&lt;br /&gt;
&lt;br /&gt;
지역 간 랜덤한 숫자의 숙주 이동이 일어난다.&lt;br /&gt;
&lt;br /&gt;
바이러스는 증식 속도, 잠복기, 독성을 가진다. 이는 시간에 관한 함수(f(t))이다.&lt;br /&gt;
&lt;br /&gt;
= Client Framework =&lt;br /&gt;
 //Project -&amp;amp;gt; Setting -&amp;amp;gt; LINK 메뉴 -&amp;amp;gt; Object/library modules: 의 끝부분에 ws2_32.lib 를 추가한다.  &lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt; &lt;br /&gt;
 #include &amp;amp;lt;winsock2.h&amp;amp;gt; &lt;br /&gt;
 &lt;br /&gt;
 #define    PORT 9999         //    서버의 9999번 포트를 연다 &lt;br /&gt;
 #define    BACKLOG    5 &lt;br /&gt;
 #define SERVER_IP &amp;quot;127.0.0.1&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 void error(char    *buf) &lt;br /&gt;
 { &lt;br /&gt;
     puts(buf), exit(1); &lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 main(){ &lt;br /&gt;
     WSADATA    wsaData; &lt;br /&gt;
 &lt;br /&gt;
     SOCKET server_sock;           // 서버의 socket을 생성 &lt;br /&gt;
 &lt;br /&gt;
     SOCKADDR_IN    server_addr;    // 네트워크의 정보를 담을 structure    생성. &lt;br /&gt;
 &lt;br /&gt;
     char msg[] = &amp;quot;My name is Na Hwidong,.&amp;quot;; &lt;br /&gt;
     char question[200]; &lt;br /&gt;
     int queslen; &lt;br /&gt;
 &lt;br /&gt;
     if(    WSAStartup(MAKEWORD(2,2), &amp;amp;amp;wsaData)    == -1 ) &lt;br /&gt;
         error(&amp;quot;WSAStartup Error&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
     // socket 설정 &lt;br /&gt;
     // 프로그래머는    이것을 통해    네트워크와 대화를 한다. &lt;br /&gt;
 &lt;br /&gt;
     server_sock    = socket(AF_INET, SOCK_STREAM, 0); &lt;br /&gt;
     if(    server_sock    == -1 ) &lt;br /&gt;
         error(&amp;quot;server socket error&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
     // 네트웍 정보 설정 &lt;br /&gt;
     // 이것은 프로그램이 socket과 연결할 정보를    담고있다. &lt;br /&gt;
 &lt;br /&gt;
     memset((SOCKADDR_IN    *)&amp;amp;amp;server_addr,    0, sizeof(SOCKADDR_IN)); &lt;br /&gt;
     // struct sockaddr_in     -&amp;amp;gt;       SOCKADDR_IN &lt;br /&gt;
     server_addr.sin_family = AF_INET; &lt;br /&gt;
     server_addr.sin_addr.s_addr &lt;br /&gt;
         = inet_addr(SERVER_IP);     //    로컬 주소로 설정한다. &lt;br /&gt;
     server_addr.sin_port = htons(PORT); &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
     // 서버에 연결한다. 시도나 해보자. &lt;br /&gt;
     if(    connect(server_sock, &lt;br /&gt;
             (struct sockaddr *)&amp;amp;amp;server_addr, &lt;br /&gt;
              sizeof(struct    sockaddr)) == -1 ) &lt;br /&gt;
         fprintf(stderr,    &amp;quot;서버에    connect    할 수 없습니다.&amp;quot;), exit(1);     &lt;br /&gt;
 &lt;br /&gt;
      &lt;br /&gt;
     for( int i = 0 ; i &amp;amp;lt; 3 ; i++ ){ &lt;br /&gt;
 &lt;br /&gt;
         // 연결하고 뭘 해야지 그냥 있었네..;; &lt;br /&gt;
         queslen = recv( server_sock, question, sizeof(question), 0); &lt;br /&gt;
         question[queslen] = &amp;#039;\0&amp;#039;; &lt;br /&gt;
         printf( &amp;quot;I have to answer the next question. %s\n&amp;quot;, question); &lt;br /&gt;
         if( send(server_sock, msg, sizeof(msg), 0) == -1 ) &lt;br /&gt;
             fprintf(stderr, &amp;quot;send error&amp;quot;);  &lt;br /&gt;
         printf( &amp;quot;I sent an answer. The answer is %s\r\n&amp;quot;, msg); &lt;br /&gt;
         system(&amp;quot;pause&amp;quot;); &lt;br /&gt;
     } &lt;br /&gt;
     WSACleanup(); &lt;br /&gt;
 &lt;br /&gt;
     exit(0); &lt;br /&gt;
     // exit로 종료를 하면 모든 파일    디스크립터를 자동으로 닫고 종료한다. &lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>