【创龙TMS320C665x开发板试用】+22 基于SYSBIOS平台的开发 SYS/BIOS (7) ——实现TCP 服务器

1. 初始化外设,启动SYSBIOS。
2.在图形化软件中,使用钩子函数设置线程指定及设定TCP服务器IP地址(图1)

  1. Global.networkOpenHook = '&NetOpenHook';
  2. Global.networkCloseHook = '&NetCloseHook';
复制代码
 
 
图1 指定服务器IP为192.168.1.2

3.在钩子函数中,建立服务器端口及回调函数
 
  1. void NetOpenHook()
  2. {
  3.         hTcp = DaemonNew(SOCK_STREAMNC, 0, 1025, TcpTest, OS_TASKPRINORM, OS_TASKSTKNORM, 0, 3);
  4. }
  5. void NetCloseHook()
  6. {
  7.     DaemonFree(hTcp);
  8. }
复制代码
这里回调测试函数TcpTest。
4 tcp test
  1. int TcpTest(SOCKET s, UINT32 unused)
  2. {
  3.     struct timeval to;
  4.     int i;
  5.     char *pBuf;
  6.     char Title[] = "Tronlong Tcp Server Application ......";
  7.  
  8.         HANDLE hBuffer;
  9.  
  10.     // 配置超时时间 5s
  11.     to.tv_sec  = 5;
  12.     to.tv_usec = 0;
  13.     setsockopt(s, SOL_SOCKET, SO_SNDTIMEO, &to, sizeof(to));
  14.     setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &to, sizeof(to));
  15.  
  16.     // 发送一个固定字符串 长度 38
  17.         send(s, &Title, 38, 0);
  18.     for(;;)
  19.     {
  20.             i = (int)recvnc(s, (void **)&pBuf, 0, &hBuffer);
  21.  
  22.             // 回传接收到的数据
  23.         IF(i > 0)
  24.         {
  25.             if(send(s, pBuf, i, 0 ) < 0)
  26.                 break;
  27.  
  28.             recvncfree(hBuffer);
  29.         }
  30.         else
  31.         {
  32.             break;
  33.         }
  34.     }
  35.     fdClose(s);
  36.  
  37.     return(0);
  38. }
复制代码
建立两个收发socket,同时将TCP服务器接收TCP 客户端的数据,发送到TCP客户机。
 
 
图2 TCP服务器IP
 
 
 
图3 ping 通
详细可以参考TI历程及创龙开发板历程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值