8 TCP案例
8.1 两个TCP Task 任务两份代码
8.1.1 工程代码
在main.c 文件中,创建两个TCP任务,名称为App_TaskTCP1Proc和App_TaskTCP2Proc。

在tcptask.c 中定义TCP任务的代码如下:


从上面的代码里,我们可以看到,两个tcp任务的代码是类似的,却用了两个函数,这个就是两个任务两份代码,后面会看到我们的一份代码实现方案。
8.1.2 调试过程
调试过程,不详细描述了。
8.2 两个TCP Task 任务一份代码
8.2.1 工程代码
在main.c 文件中,创建两个TCP任务,名称都为App_TaskTCPProc,但是第二个参数不一样,这里是重点,我们把通道号整数1和2,分别转为void类型指针,然后在任务的实现代码里面,再转换成整数,得到通道号1和2。

在tcptask.c 中定义TCP任务的代码如下:

从上面代码里可以看到,我们把形式参数void *p_arg 又转成整数,从而获取到通道号1和2。这样一套代码,实现了两个链接,TCP任务1去链接"101.200.0.74"的18935端口,TCP任务2去链接18936端口。
8.2.2 调试过程
调试的时候,要先创建一个任务,调试好后,再创建另一个任务。