参考:**https://blog.csdn.net/Chuangke_Andy/article/details/113116289

**意义:**提高各平台lwip TCP/UDP 编程的兼容性,可以移植性

环境:
1.freertos
2.开启 LWIP_SOCKET
3.华大HC32F4A0(可以兼容)

代码编程:

#include "tcp_client_test.h"
#include "lwip/opt.h"
#include <lwip/sockets.h>
#include "lwip/sys.h"
#include "lwip/api.h"
#include "string.h"#if LWIP_SOCKET    #define DEST_PORT 6134//目标地址端口号
#define DEST_IP "192.168.2.195"/*目标地址IP,这里设为本机*/
#define MAX_DATA 1024//接收到的数据最大程度 #define LWIP_TCP_DEBUG_ENABLE    1
#if LWIP_TCP_DEBUG_ENABLE#define LWIP_TCP_DEBUG printf
#else#define LWIP_TCP_DEBUG(...)
#endifvoid tcp_client_thread(void)
{int sockfd,new_fd;/*cocket句柄和接受到连接后的句柄 */struct sockaddr_in dest_addr;/*目标地址信息*/char buf[MAX_DATA];//储存接收数据 sockfd=socket(AF_INET,SOCK_STREAM,0);/*建立socket*/if(sockfd < 0){LWIP_TCP_DEBUG("socket failed:%d",errno);}dest_addr.sin_family=AF_INET;dest_addr.sin_port=htons(DEST_PORT);dest_addr.sin_addr.s_addr=inet_addr(DEST_IP);inet_aton(DEST_IP,&dest_addr.sin_addr);/*将点分十进制转换成32位整型类型*/if(connect(sockfd,(struct sockaddr*)&dest_addr,sizeof(struct sockaddr)) == -1){//连接方法,传入句柄,目标地址和大小 LWIP_TCP_DEBUG("connect failed:%d",errno);//失败时可以打印errno }else{LWIP_TCP_DEBUG("connect success");recv(sockfd,buf,MAX_DATA,0);//将接收数据打入buf,参数分别是句柄,储存处,最大长度,其他信息(设为0即可)。 LWIP_TCP_DEBUG("Received:%s",buf);}close(sockfd);//关闭socket return;
}
#endif

LWIP开发 | scoket | tcp | client相关推荐

  1. LwIP应用开发笔记之六:LwIP无操作系统TCP客户端

    上一篇我们基于LwIP协议栈的RAW API实现了一个TCP服务器的简单应用,接下来一节我们来实现一个TCP客户端的简单应用. 1.TCP简述 TCP(Transmission Control Pro ...

  2. LwIP应用开发笔记之五:LwIP无操作系统TCP服务器

    前面我们实现了UDP服务器及客户端以及基于其上的TFTP应用服务器.接下来我们将实现同样广泛应用的TCP协议各类应用. 1.TCP简述 TCP(Transmission Control Protoco ...

  3. Modbus协议栈开发笔记之四:Modbus TCP Client开发

    这一次我们封装Modbus TCP Client应用.同样的我们也不是做具体的应用,而是实现TCP客户端的基本功能.我们将TCP客户端的功能封装为函数,以便在开发具体应用时调用. 对于TCP客户端我们 ...

  4. ESP8266开发之旅 网络篇⑦ TCP Server TCP Client

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... 共同学习成长QQ群 622368884,不喜勿 ...

  5. Android studio TCP网络调试助手应用开发(支持TCP Server与Client切换)

    在前几篇的文章中带大家完成了基于TCP的物联网安卓应用开发,教程内容是创建了一个TCP客户端并连接服务器完成数据通信的过程,后不久又发布了一个ESP8266创建TCP 服务器与安卓的客户端进行通信的一 ...

  6. LwIP TCP Client 解决长数据发送的困扰

    问题描述 LWIP 的 TCP Client 发送数据可以调用 tcp_write() 函数,将数据储存在缓冲区里面,然后等待超时自动发送或者调用tcp_output()函数进行发送. 然而 tcp_ ...

  7. 网络通信之TCP Client通信(基于Arduino)

    网络通信之TCP Client通信(基于Arduino) 前期准备 实验要求 具体方法 程序流程 程序 实验现象 后续 前期准备 Arduino IDE ESPDuino Arduino ESP826 ...

  8. 《嵌入式 - Lwip开发指南》第5章 LWIP测速

    最近有个网友在询问关于LWIP的速度,本文就LWIP网速做个简单测试.为了对比,本文将使用无系统和有系统两种环境. 5.1网络测速工具介绍 不过在测速之前,需要介绍下测速的工具,这里有两个软件:iPe ...

  9. 关于HML要玩物联网这件事 之 CC3200 TCP Client

    假装是个引言 去年TI难得发了次大福利,圣诞节派送CC3200开发板.本辣鸡博主抢得早,加上没落C9.edu.cn 邮箱加持,抽奖居然抽中了.TI不论是赞助竞赛还是送板子,目的都很明确,就是想推广自己 ...

最新文章

  1. 关于KN95口罩:可以使用多久?要不要呼吸阀?怎么佩戴?
  2. C++输入、输出优化模板整理
  3. dnn中个性化服务的使用
  4. Java实验方法参数传递与递归_4.3类的结构之二:方法(return,重载,可变个数形参,值传递,递归)...
  5. linux 路径 冒号_软件测试必须掌握的linux命令大全
  6. 有人滥用 GitHub Actions在 GitHub 服务器挖掘密币,且正在蔓延
  7. 编写 iPhone Friendly 的 Web 应用程序 (Part 6 - iUI)
  8. Freemarker 的常见控制结构写法(ZT)
  9. python中的遍历range_python中for用来遍历range函数的方法
  10. 相克军_Oracle体系_随堂笔记011-事物
  11. 信息论与编码冯桂周林著答案_信息论与编码(信息与通信工程高等学校电子信息类专业系列教材)...
  12. javacv相关学习:了解javacv
  13. SQL编程和高级查询
  14. 计算机辅助翻译公开课,清华大学发布八门网络公开课
  15. 联合国首席AI顾问专访:我们期望AI应该是完美的,但这永远不会
  16. SpringBoot Web项目 解析
  17. matlab读取TXT文件数据,二进制文件数据
  18. 电脑变卡DOS解决方案
  19. avatar Logo
  20. Conlletion集合框架总结大全

热门文章

  1. 苹果手机实现NTU校园网连接自动化
  2. DOM的readyState属性
  3. 171029 windows10 桌面美化
  4. MySQL教程——MySQL注释:单行注释和多行注释
  5. JavaWeb旅游项目登陆功能
  6. Linux系统下运行QT视频播放器示例程序(Media Player Example )
  7. XSL语言(XSL Languages)(1)XSL Languages
  8. JAVA SE 005——类型转换
  9. python字典元素由什么组成_【】Python中,字典、列表、元组分别用 、 、 作定界符,字典的每个元素由两部分组成,分别是 和 ,其中 不允许重复。...
  10. Python操作 Excel 基础操作