一起学习CC3200系列教程之2个TCP_非阻塞及阻塞设置

一起学习CC3200系列教程之2个TCP_非阻塞及阻塞设置

 

阿汤哥

序:

能力有限,难免有错,有问题请联系我,

QQ1519256298       hytga@163.com

Pdf下载http://pan.baidu.com/s/1hqiWB56

 

关键字:socket ,阻塞,非阻塞,SetSockOpt

 

现在我们介绍如果创建一个TCP连接。

开发环境:

CCS,sdk1.1,freertos,

软件流程:

我们创建两个任务,第一个任务比第二个任务多了一个网络设置的功能,其他的一致,我们就用第一个任务来表达,任务初始化CC3200为STA模式,并连上AP,创建一个socket,读取远端的数据,并把读到的数据原封不动地发送回去。自动检测socket连接有没有断开,并自动重新连接,没有做网络断开连接的检测。

这里我们用了两种方式:阻塞及非阻塞

阻塞:

任务会阻塞在写和读的函数上,直到发送出去,读函数会直接返回,所以在返回值做了一个判断:有没有断开连接,有就重连。当阻塞某一函数时,任务会自动切换。因此不用我们去延迟任务

非阻塞:

任务不会阻塞在读的函数上,写函数有没有阻塞我没测过,估计得用测量这个函数的执行时间才能知道有没有阻塞,挺麻烦的,所以略过。当socket断开连接会导致发送错误,利用这个特性,在发送错误时我们进行重连,因此这个会导致无用的信息传输浪费了电量,而且响应不及时,改进方法:用select,这个改天说。任务不会自动切换,需要我们去延迟任务,切换任务,这里我是使用的是用SetSockOpt来设置非阻塞的

main函数


                
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值