参考:**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. Openstack组件部署 — Nova_安装和配置Controller Node
  2. 《计算机组成原理》课程设计报告——TEC-2实验系统——微程序设计
  3. 用 Python 制作子弹图也这么简单,爱了~
  4. python如何离线安装第三方模块_扣丁学堂python开发之第三方模块pip离线安装
  5. 8 大错误SQL用法,你肯定踩过坑!
  6. mysql版本不支持 loop,loopback4, node mysql connector支持 utf8mb4字符集
  7. leetcode —— 207. 课程表
  8. 【Spring】HttpMessageConverter的作用及替换
  9. [arXiv18]更快的基于非二叉化自底向上策略的转移系统成分句法分析
  10. react里执行shouldComponentUpdate时返回false的后果
  11. 物联网智慧校园建设系统源码
  12. Aria2 YAAW 使用说明
  13. 实现LAYERED窗口
  14. PS合成下雨天蹲在路灯下的天使男人清(15)
  15. STM32MP1如何让洗衣机操作界面更炫酷?
  16. Ps Camera Raw 打开图像错位花屏原因- PC 上的独立显卡背锅
  17. 对struct cred新理解
  18. Qt从入门到放弃——信号和槽机制(SigalSlot)
  19. 移动端浏览器预览word、excel、ppt
  20. css让每个元素之间隔开

热门文章

  1. VsCode:设置前进和后退 (返回上一个浏览位置/下一个浏览位置)快捷键
  2. 那就这样,先结个尾吧
  3. linux运行luminati,Luminati使用从入门到精通-Luminati中国
  4. 在docker下进行ETH并行训练和在本机下进行ETH并行训练
  5. 你有用过 Github 的 Gist 吗?
  6. 【EtherCAT理论篇】二、EtherCAT工作原理
  7. 阿里云服务器配置(一)基础
  8. coq形式化验证学习进阶
  9. Java正则表达式校验密码规则
  10. 局域网通信软件 飞鸽传书