문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
moacon:listen:index [2016/03/23 23:15] Comfile Technology [사용예] |
moacon:listen:index [2020/02/23 13:59] (현재) Comfile Technology [사용예] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
+ | ====== listen ====== | ||
+ | ''u8 listen( u8 socket ) '' | ||
+ | |socket : 소켓번호 (0 부터 3 사이 값) | | ||
+ | |||
+ | ==== 설명 ==== | ||
+ | 해당 소켓을 서버모드로 만드는 함수입니다. | ||
+ | |||
+ | ==== 사용예 ==== | ||
+ | |||
+ | 다음은 TCP 루프백 테스트 프로그램입니다. 아래그림처럼 네트워크상에 TCP 에코처리를 | ||
+ | 해주는 별도의 디바이스가 있어야 테스트가 가능합니다. | ||
+ | |||
+ | 이 프로그램은 에코디바이스로 TCP 데이터를 송신하고, 같은 데이터가 되돌아 오는지를 확인하여, LCD 상에 표시해주는 | ||
+ | 프로그램입니다. 에코디바이스의 IP 어드레스는 192.168.0.1 로 되어 있습니다. | ||
+ | |||
+ | |||
+ | <code c> | ||
+ | #include "moacon500.h" | ||
+ | void cmain(void) | ||
+ | { | ||
+ | u8 i=0x35,j; | ||
+ | u16 k,kk=0,length1; | ||
+ | clcdPower(1); | ||
+ | clcdI2cInit(0); | ||
+ | u8 GatewayIP[]={192,168,0,1}; | ||
+ | u8 SubnetMask[]={255,255,255,0}; | ||
+ | u8 MacAdr[]={0,0,34,53,12,0}; | ||
+ | u8 DeviceIp[]={192,168,0,12}; | ||
+ | u8 destIP[]={192,168,0,2}; | ||
+ | |||
+ | char data1[] = "Comfile"; | ||
+ | char data2[20]; | ||
+ | netBegin(GatewayIP, SubnetMask, MacAdr, DeviceIp); | ||
+ | socketOpen(0,1000); | ||
+ | connect(0,destIP,5000); | ||
+ | while (1) { | ||
+ | switch(netStatus(0)) { | ||
+ | case SOCK_ESTABLISHED: | ||
+ | netPrint(0,"Comfile%D%C",kk++,0); | ||
+ | delay(20); | ||
+ | length1 = netRxLen(0); | ||
+ | clcdLocate(0,2); | ||
+ | netRecv(0,data2,length1); | ||
+ | data2[--length1]=0; | ||
+ | clcdPrint(0,2,data2); | ||
+ | clcdPrint(0,3,"Rx=%d",length1); | ||
+ | delay(200); | ||
+ | break; | ||
+ | case SOCK_CLOSE_WAIT: | ||
+ | disConnect(0); | ||
+ | clcdPrint(0,0,"Socket disconnect"); | ||
+ | delay(200); | ||
+ | break; | ||
+ | case SOCK_CLOSED: | ||
+ | clcdPrint(0,0,"Socket Closed "); | ||
+ | delay(200); | ||
+ | if (connect(0,destIP,5000) != 0 ) { | ||
+ | clcdPrint(0,0,"Socket open "); | ||
+ | } | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | {{ :moacon:netrxlen:ethernetsample.png?nolink |}} | ||
+ | |||
+ | [[moacon:index#-f-|라이브러리 목록으로 가기]] |