lwip TCP client 客户端 & FreeRTOS
static void tcpecho_thread(void *arg)
{ ip_addr_t serverIpAddr;
struct netbuf *buf;
void *data;
u16_t len;
err_t err;
struct netconn *conn; IP4_ADDR(&serverIpAddr,,,,);// 服务器IP地址 LWIP_UNUSED_ARG(arg); for( ;; )
{ printf("正在建立连接服务器到:192.168.1.13 :65000...\r\n"); /* Create a new connection identifier. */
conn = netconn_new(NETCONN_TCP); if (conn!=NULL)
{ /* Netconn connection to Server IP , port number 65000. */ err = netconn_connect(conn, &serverIpAddr, ); if(err == ERR_OK)
{ printf("TCP Server 192.168.1.13 :65000 连接成功.\r\n"); for( ;; )
{ /* receive data until the other host closes the connection */
if((err = netconn_recv(conn, &buf)) == ERR_OK) //这个是死等 TCP 数据
{
//获取一个指向netbuf 结构中的数据的指针 if((err = netbuf_data(buf, &data, &len)) == ERR_OK)
{ //接收到的数据 转发给串口1,来达到透传的目的
comSendBuf(COM1,data,len); netbuf_delete(buf); }
else
{
printf("err:netbuf_data(buf, &data, &len):%d.\r\n",err);
} }
else//if((err = netconn_recv(conn, &buf)) == ERR_OK)
{ printf("err:netconn_recv(conn, &buf):%d.\r\n",err); netbuf_delete(buf); break;
} } } printf("TCP Server 192.168.1.13 :65000 连接失败.\r\n"); netconn_close(conn);
netconn_delete(conn); /* vTaskDelayUntil是绝对延迟,vTaskDelay是相对延迟。*/
vTaskDelay();
}
else//(conn!=NULL)
{
printf("Can not create TCP netconn.\r\n"); /* vTaskDelayUntil是绝对延迟,vTaskDelay是相对延迟。*/
vTaskDelay();
} }
}
1、根据某位大神 总结的经验!

lwip TCP client 客户端 & FreeRTOS的更多相关文章
- (转)lwip TCP client & FreeRTOS 打开TCP 的 保活机制 LWIP_TCP_KEEPALIVE==1
		
参考大神教程:http://blog.sina.com.cn/s/blog_62a85b950101aw8x.html 老衲五木 :http://blog.sina.com.cn/s/blog_6 ...
 - lwip TCP client & FreeRTOS    打开TCP 的 保活机制 LWIP_TCP_KEEPALIVE==1
		
参考大神教程:http://blog.sina.com.cn/s/blog_62a85b950101aw8x.html 老衲五木 :http://blog.sina.com.cn/s/blog_6 ...
 - STM32F407移植contiki2.6后使用LWIP库实现tcp client
		
最近在做智能家居,物联网项目,用到了C下的contiki移植 经过一阵调试,终于在 STM32F407移植contiki2.6后使用LWIP库实现tcp client. 一路艰辛谁人知道....唯有留 ...
 - [Python 网络编程] TCP Client (四)
		
TCP Client 客户端编程步骤: 创建socket对象 连接到服务端的ip和port,connect()方法 传输数据 使用send.recv方法发送.接收数据 关闭连接,释放资源 最简单的客户 ...
 - stm32使用LWIP实现DHCP客户端
		
LWIP是一款开源的嵌入式网络协议栈,支持的功能很多,而且能在多任务环境下和单任务裸机环境下跑,今天说说他的移植过程,芯片为STM32,网卡为ENC28J60,无操作系统 首先下载LWIP的源代码,我 ...
 - Modbus库开发笔记之四:Modbus TCP Client开发
		
这一次我们封装Modbus TCP Client应用.同样的我们也不是做具体的应用,而是实现TCP客户端的基本功能.我们将TCP客户端的功能封装为函数,以便在开发具体应用时调用. 对于TCP客户端我们 ...
 - 全网最详细的Windows系统里Oracle 11g R2 Client客户端(64bit)安装后的初步使用(图文详解)
		
不多说,直接上干货! 前期博客 全网最详细的Windows系统里Oracle 11g R2 Client(64bit)的下载与安装(图文详解) 命令行方式测试安装是否成功 1) 打开服务(cmd— ...
 - 【Echo】实验 -- 实现 C/C++下TCP, 服务器/客户端 通讯
		
本次实验利用TCP/IP, 语言环境为 C/C++ 利用套接字Socket编程,实现Server/CLient 之间简单的通讯. 结果应为类似所示: 下面贴上代码(参考参考...) Server 部分 ...
 - tcp程序设计--客户端获取服务器输入输出流
		
tcp程序设计--客户端获取服务器输入输出流 思路: 第一步:实例化一个ServerSocket对象(服务器套接字),用来等待网络上的请求(也就是等待来连接的套接字) 第二步:调用accept()方法 ...
 
随机推荐
- Maven学习总结(二):安装
			
一:Maven下载 下载地址:http://maven.apache.org/download.cgi 下载完成后,得到一个压缩包,解压,可以看到maven的组成目录 Maven目录分析 bin:含有 ...
 - Vue组件通讯
			
Vue最常用的组件通讯有三种:父->子组件通讯.子->父组件通讯,兄弟组件通讯.(template用的pug模板语法) 1.父->子组件通讯 父->子组件通讯,是通过props ...
 - WeinView 与 MITSUBISHI FX 系列 PLC 通讯范例
			
1. 范例操作概述 此范例将介绍如何快捷简易地建立WEINVIEW HMI与MITSUBISHI FX系列 PLC通讯. 注意事项:通讯参数设置,通讯线接法. 2. 规划说明 (1) 新建简单 PLC ...
 - Microsoft Toolkit.exe激活office 2010方法
			
1.双击打开激活工具 2.点击下方的office图标. 3.选择Activation标签,下拉选择AutoKMS,点击Install,完成后点击Activate,即可.
 - 在主线程中慎用WaitForSingleObject (WaitForMultipleObjects)
			
下面的代码我调试了将近一个星期,你能够看出什么地方出了问题吗?线程函数: DWORD WINAPI ThreadProc( while(!bTerminate) { // 从 ...
 - [译] Z-variant (Z变体)
			
阅读目录 1. Z轴上的区别 2. 问题 Unihan 的 kZVariant 字段 译自: en.wikipedia.org/wiki/Z-variant | 已发布zh.wiki 在Unicode ...
 - String,StringBuffer和StringBuilder三者的讲解
			
对于java的学习者而言,无论是初学者,还是java大师,String对于大家而言,也绝对不会陌生.下面本人就从 自己学习的角度大致分析一下String,StringBuffer和StringBui ...
 - Oralce 序列
			
序列: 是oacle提供的用于产生一系列唯一数字的数据库对象. l 自动提供唯一的数值 l 共享对象 l 主要用于提供主键值 l 将序列值装入内存可以提高访问效率 创建序列: 1. 要有创建 ...
 - es6常见特性
			
Parameters(参数) in ES6 Template Literals (模板文本)in ES6 Multi-line Strings (多行字符串)in ES6 Destructuring ...
 - linux Mint 安装网易云音乐
			
第一天从官网下来了最新版netease-cloud-music_1.1.0_amd64_ubuntu.deb安装,用的挺好的,第二天就打不开了郁闷,查了下很多人都遇到了这样的问题,需要root权限运行 ...