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