LWIP开发 | scoket | tcp | client
参考:**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相关推荐
- LwIP应用开发笔记之六:LwIP无操作系统TCP客户端
上一篇我们基于LwIP协议栈的RAW API实现了一个TCP服务器的简单应用,接下来一节我们来实现一个TCP客户端的简单应用. 1.TCP简述 TCP(Transmission Control Pro ...
- LwIP应用开发笔记之五:LwIP无操作系统TCP服务器
前面我们实现了UDP服务器及客户端以及基于其上的TFTP应用服务器.接下来我们将实现同样广泛应用的TCP协议各类应用. 1.TCP简述 TCP(Transmission Control Protoco ...
- Modbus协议栈开发笔记之四:Modbus TCP Client开发
这一次我们封装Modbus TCP Client应用.同样的我们也不是做具体的应用,而是实现TCP客户端的基本功能.我们将TCP客户端的功能封装为函数,以便在开发具体应用时调用. 对于TCP客户端我们 ...
- ESP8266开发之旅 网络篇⑦ TCP Server TCP Client
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... 共同学习成长QQ群 622368884,不喜勿 ...
- Android studio TCP网络调试助手应用开发(支持TCP Server与Client切换)
在前几篇的文章中带大家完成了基于TCP的物联网安卓应用开发,教程内容是创建了一个TCP客户端并连接服务器完成数据通信的过程,后不久又发布了一个ESP8266创建TCP 服务器与安卓的客户端进行通信的一 ...
- LwIP TCP Client 解决长数据发送的困扰
问题描述 LWIP 的 TCP Client 发送数据可以调用 tcp_write() 函数,将数据储存在缓冲区里面,然后等待超时自动发送或者调用tcp_output()函数进行发送. 然而 tcp_ ...
- 网络通信之TCP Client通信(基于Arduino)
网络通信之TCP Client通信(基于Arduino) 前期准备 实验要求 具体方法 程序流程 程序 实验现象 后续 前期准备 Arduino IDE ESPDuino Arduino ESP826 ...
- 《嵌入式 - Lwip开发指南》第5章 LWIP测速
最近有个网友在询问关于LWIP的速度,本文就LWIP网速做个简单测试.为了对比,本文将使用无系统和有系统两种环境. 5.1网络测速工具介绍 不过在测速之前,需要介绍下测速的工具,这里有两个软件:iPe ...
- 关于HML要玩物联网这件事 之 CC3200 TCP Client
假装是个引言 去年TI难得发了次大福利,圣诞节派送CC3200开发板.本辣鸡博主抢得早,加上没落C9.edu.cn 邮箱加持,抽奖居然抽中了.TI不论是赞助竞赛还是送板子,目的都很明确,就是想推广自己 ...
最新文章
- 关于KN95口罩:可以使用多久?要不要呼吸阀?怎么佩戴?
- C++输入、输出优化模板整理
- dnn中个性化服务的使用
- Java实验方法参数传递与递归_4.3类的结构之二:方法(return,重载,可变个数形参,值传递,递归)...
- linux 路径 冒号_软件测试必须掌握的linux命令大全
- 有人滥用 GitHub Actions在 GitHub 服务器挖掘密币,且正在蔓延
- 编写 iPhone Friendly 的 Web 应用程序 (Part 6 - iUI)
- Freemarker 的常见控制结构写法(ZT)
- python中的遍历range_python中for用来遍历range函数的方法
- 相克军_Oracle体系_随堂笔记011-事物
- 信息论与编码冯桂周林著答案_信息论与编码(信息与通信工程高等学校电子信息类专业系列教材)...
- javacv相关学习:了解javacv
- SQL编程和高级查询
- 计算机辅助翻译公开课,清华大学发布八门网络公开课
- 联合国首席AI顾问专访:我们期望AI应该是完美的,但这永远不会
- SpringBoot Web项目 解析
- matlab读取TXT文件数据,二进制文件数据
- 电脑变卡DOS解决方案
- avatar Logo
- Conlletion集合框架总结大全
热门文章
- 苹果手机实现NTU校园网连接自动化
- DOM的readyState属性
- 171029 windows10 桌面美化
- MySQL教程——MySQL注释:单行注释和多行注释
- JavaWeb旅游项目登陆功能
- Linux系统下运行QT视频播放器示例程序(Media Player Example )
- XSL语言(XSL Languages)(1)XSL Languages
- JAVA SE 005——类型转换
- python字典元素由什么组成_【】Python中,字典、列表、元组分别用 、 、 作定界符,字典的每个元素由两部分组成,分别是 和 ,其中 不允许重复。...
- Python操作 Excel 基础操作