为实现Hi3861和ESP
#include
#include "ohos_init.h"
#include "cmsis_os2.h"
#include
#include "hi_wifi_api.h"
//#include "wifi_sta.h"
#include "lwip/ip_addr.h"
#include "lwip/nefapi.h"
#include "lwip/sockets.h"
#define SERVER_PORT_TCP 6666
#define TCP_BACKLOG 10
/* 在sock_fd 进行监听,在 new_fd 接收新的链接 */
int sock_fd, new_fd;
char recvbuf[512];
char *buf = "hello! I m server!";
int tcp_demo(void)
{
/* 自己的地址信息 */
struct sockaddr_in my_addr;
/* 连接者的地址信息*/
struct sockaddr_in their_addr;
int sin_size;
struct sockaddr_in *cli_addr;
printf("%s %d \r\n", __FILE__, __LINE__);
/* 1 、创建socket */
if((sock_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
printf("%s %d \r\n", __FILE__, __LINE__);
perror("socket is error\r\n");
exit(1);
}
/* 主机字节顺序 */
/* 协议 */
my_addr.sin_family = AF_INET;
my_addr.sin_port = htons(6666);
/* 当前IP 地址写入 */
my_addr.sin_addr.s_addr = INADDR_ANY;
/* 将结构体其余的都清零 */
bzero(&(my_addr.sin_zero), 8);
printf("%s %d \r\n", __FILE__, __LINE__);
/* bind 绑定*/
if(bind(sock_fd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == -1)
{
printf("%s %d \r\n", __FILE__, __LINE__);
perror("bind is error\r\n");
exit(1);
}
printf("%s %d \r\n", __FILE__, __LINE__);
/* 开始监听 */
if(listen(sock_fd, TCP_BACKLOG) == -1)
{
perror("listen is error\r\n");
exit(1);
}
printf("%s %d \r\n", __FILE__, __LINE__);
printf("start accept\n");
/* accept() 循环 */
while(1)
{
sin_size = sizeof(struct sockaddr_in);
printf("%s %d \r\n", __FILE__, __LINE__);
if((new_fd = accept(sock_fd, (struct sockaddr *)&their_addr, (socklen_t *)&sin_size)) == -1)
{
perror("accept");
continue;
}
cli_addr = malloc(sizeof(struct sockaddr));
printf("accept addr\r\n");
if(cli_addr != NULL)
{
memcpy(cli_addr, &their_addr, sizeof(struct sockaddr));
}
//处理目标
ssize_t ret;
while(1)
{
printf("%s %d \r\n", __FILE__, __LINE__);
if((ret = recv(new_fd, recvbuf, sizeof(recvbuf), 0)) == -1){
printf("recv error \r\n");
return -1;
}
printf("recv :\r\n");
printf("%s", recvbuf);
printf("\r\n");
sleep(2);
if((ret = send(new_fd, buf, strlen(buf) + 1, 0)) == -1)
{
perror("send : ");
}
sleep(2);
}
close(new_fd);
return 0;
}
}
void TCPExampleEntry(void)
{
tcp_demo();
}
SYS_RUN(TCPExampleEntry);复制代码Hi3861的WIFI已经成功开启。通过串口调试ESP01s,可以连接WIFI,但是在连接TCP服务器时失败。
如何高回报投资数字货币,离比特币减半倒计时一年半不到,最后一波10~100倍财富回报盛宴,错过了就不再有!
在币圈中
靠头脑不是耳朵
靠信息不是靠想像
靠实力不是靠猜测
会玩的叫投资
不会玩的叫消费
如果你做不到,那你就选择依托强者生存聪明的人懂得在自己不擅长的领域先向别人学习。
大家好,本人七年虚拟货币玩家,大牛谈不上,但是也带着上万名学生做了几年投资了,没错过比特币,没错过以太坊,没错过山寨币,没错过ICO,回报在1000倍左右了,从2013年年前开始带学生投资区块链,学生的平均回报也在200倍左右,欢迎大家一起交流,互相学习!
------
延伸阅读:
穷人炒币思维 短线能赚大钱是个问题
不要陷入穷人思维
就市场大多数人存在的问题,星主今天就说点思维上面的东西。
穷人思维,日夜劳作,温饱而已吧,即使不得温饱也可安生。
就如同麻雀在草丛,土堆,垃圾里面觅食,而气象万千的山川,江河,林莽对他们没有任何意义。
拘泥于尺寸之间,游走于枯井之内,不见江海浩瀚!
而绝大多数交易者便是这穷人思维。
不知疲倦的在行情的杂波里钻来钻去,频繁炒短,最后也不知道自己炒的是个啥,反正就是亏了。
大家虽然是为了10倍杠杆,20倍杠杆缔造一个一年10倍,100倍的传奇而来,可是一进市场就被带偏了,
在穷人思维的影响下,非但没有成为市场的雄鹰,反而成了市场的蠕虫。
这样做合约做现货能够捕捉到一年只有一两次的树干行情?能够赚到10倍,100倍的利润?
这里不应该放一个大大的问号?有着一年十倍,百倍的鸿鹄之志,却做的一饭温饱的活。
在交易当中有一个奇怪的现象,低频交易的人对行情的理解,辨识,捕捉能力远远要比每天劳作的高频,超短线交易的人要深刻,透彻的多。
富人思维不是杂波思维,不是日内短线思维,日内高频,炒短追涨杀跌,杰西~利佛摩尔做不下来,巴菲特也做不好。
大家可以去看看林广茂做多棉花一战成名的战役,看看赚十倍,百倍的人怎么做的。
日K一根线,5分钟内去看涨跌都有,而去捕捉5分钟的少的可怜的利润往往失去的连续翻倍的日线波动。
我向来看不起做超短的,做日内短线的,并非有歧视之意,只是我不认为做日内短线的可以捕捉到大行情。
盈利的核心之一,就是你能够让利润奔跑。
而利润奔跑意味着你需要足够的耐心去持仓,等待行情的运行。
这个阶段很痛苦,行情也不会笔直而上,充满了各种波折。
亏损,盈利,亏损变盈利,盈利变亏损,整个走势的不确定性,足以让很多人崩溃吧!
------------------
推荐阅读:
SCOTTY币怎么买卖交易?SCOTTY币上线了哪些交易所?