1. 初始化外设,启动SYSBIOS。
2.在图形化软件中,使用钩子函数设置线程指定及设定TCP服务器IP地址(图1)
- Global.networkOpenHook = '&NetOpenHook';
- Global.networkCloseHook = '&NetCloseHook';
图1 指定服务器IP为192.168.1.2
3.在钩子函数中,建立服务器端口及回调函数
- void NetOpenHook()
- {
- hTcp = DaemonNew(SOCK_STREAMNC, 0, 1025, TcpTest, OS_TASKPRINORM, OS_TASKSTKNORM, 0, 3);
- }
- void NetCloseHook()
- {
- DaemonFree(hTcp);
- }
4 tcp test
- int TcpTest(SOCKET s, UINT32 unused)
- {
- struct timeval to;
- int i;
- char *pBuf;
- char Title[] = "Tronlong Tcp Server Application ......";
- HANDLE hBuffer;
- // 配置超时时间 5s
- to.tv_sec = 5;
- to.tv_usec = 0;
- setsockopt(s, SOL_SOCKET, SO_SNDTIMEO, &to, sizeof(to));
- setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &to, sizeof(to));
- // 发送一个固定字符串 长度 38
- send(s, &Title, 38, 0);
- for(;;)
- {
- i = (int)recvnc(s, (void **)&pBuf, 0, &hBuffer);
- // 回传接收到的数据
- IF(i > 0)
- {
- if(send(s, pBuf, i, 0 ) < 0)
- break;
- recvncfree(hBuffer);
- }
- else
- {
- break;
- }
- }
- fdClose(s);
- return(0);
- }