📄 tcp_server_demo.i
字号:
#line 1 "tcp_server_demo.c" /0 #error *** WARNING C318 IN LINE 72 OF tcp_server_demo.c: can't open file 'inet/debug.h' #error *** WARNING C318 IN LINE 73 OF tcp_server_demo.c: can't open file 'inet/datatypes.h' #error *** WARNING C318 IN LINE 74 OF tcp_server_demo.c: can't open file 'inet/globalvariables.h' #error *** WARNING C318 IN LINE 75 OF tcp_server_demo.c: can't open file 'inet/system.h' #error *** WARNING C318 IN LINE 76 OF tcp_server_demo.c: can't open file 'inet/tcp_ip.h' UINT8 code HelloMsg[] = "Hello. I am OpenTcp Demo Server\r\n"; UINT8 Buffer[1000]; UINT16 BufferLen; extern UINT8 tcpc_demo_senddata; void tcps_demo_init(void); void tcps_demo_run(void); INT32 tcps_demo_eventlistener(INT8 , UINT8 , UINT32 , UINT32 ) reentrant; INT8 tcps_demo_soch; UINT8 tcps_demo_senddata; INT16 tcps_demo_send(void); void tcps_demo_init(void) { DEBUGOUT("Initializing TCP server application. \r\n"); tcps_demo_soch = tcp_getsocket(TCP_TYPE_SERVER, TCP_TOS_NORMAL, TCP_DEF_TOUT, tcps_demo_eventlistener); if( tcps_demo_soch < 0 ) { DEBUGOUT("TCP server unable to get socket. Resetting!!!\r\n"); RESET_SYSTEM(); } tcp_listen(tcps_demo_soch,5001); tcps_demo_senddata=0; } void tcps_demo_run(void) { UINT8 i; if(tcps_demo_senddata){ if(tcps_demo_send()!=-1) tcps_demo_senddata=0; } } INT32 tcps_demo_eventlistener(INT8 cbhandle, UINT8 event, UINT32 par1, UINT32 par2) reentrant { UINT16 i; if( cbhandle != tcps_demo_soch) return(-1); switch( event ){ case TCP_EVENT_CONREQ: DEBUGOUT("Connection request arrived!\r\n"); return(1); break; case TCP_EVENT_ABORT: DEBUGOUT("Connection aborting!\r\n"); break; case TCP_EVENT_CONNECTED: DEBUGOUT("TCP connection established!\r\n"); for(i=0;i<24;i++) { Buffer[i] = HelloMsg[i]; } BufferLen = 24; tcps_demo_senddata = 1; break; case TCP_EVENT_CLOSE: DEBUGOUT("TCP Connection closing...!\r\n"); break; case TCP_EVENT_ACK: DEBUGOUT("Data acknowledged!\r\n"); break; case TCP_EVENT_DATA: DEBUGOUT("Data arrived!\r\n"); for(i=0;i<par1;i++) { Buffer[i] = RECEIVE_NETWORK_B(); } BufferLen = (UINT16)par1; tcps_demo_senddata = 1; tcpc_demo_senddata = 1; break; case TCP_EVENT_REGENERATE: tcps_demo_send(); break; default: return(-1); } } INT16 tcps_demo_send(void){ UINT16 i; if(tcp_checksend(tcps_demo_soch) < 0 ){ return -1; } for(i=0;i<BufferLen;i++) net_buf[TCP_APP_OFFSET+i]=Buffer[i]; return tcp_send(tcps_demo_soch, &net_buf[TCP_APP_OFFSET], NETWORK_TX_BUFFER_SIZE - TCP_APP_OFFSET, BufferLen); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -