AT

请教一下我已经 at socket ping通,TCPUDP如何使用的

发布于 2019-08-07 10:21:59
#include "at_socket.h"
int at_client_test(void)
{
char buf=100;
int sockfd=socket(AF_AT,SOCK_DGRAM,0);
//创建网络通信对象
struct sockaddr_in addr;
addr.sin_family =AF_AT;
addr.sin_port =htons(4561);
addr.sin_addr.s_addr = inet_addr("192.168.1.106");

sendto(sockfd,&buf,
sizeof(buf),0,(struct sockaddr*)&addr,sizeof(addr));

socklen_t len=sizeof(addr);
recvfrom(sockfd,&buf,sizeof(buf),0,(struct sockaddr*)&addr,&len);

这样运行在板子上提示
[E/sal.skt] not find network interface device by protocol family(45).
[E/sal.skt] SAL socket protocol family input failed, return error -3.
如何解决呢,谢谢大神支援啊
我想做 AT tcp udp通信


QQ截图20190807101904.png

查看更多

关注者
0
被浏览
412
3 个回答
Cheney_Chen
Cheney_Chen 2019-08-07
你需要注册一个 netdev 网卡设备,可以参考 ESP8266 中 netdev 网卡的注册和实现(esp8266_netdev_add 函数)
sjj430
sjj430 2019-11-19
请问这个at_ping的命令是AT SOCKET自带的吗
Cheney_Chen
Cheney_Chen 2019-11-19
sjj430 发表于 2019-11-19 09:50
请问这个at_ping的命令是AT SOCKET自带的吗


不是自带的哦,现在 AT Device 设备都对接 ntedev 组件之后可以直接调用 ping 命令,但是针对每个设备都要自己实现一个 netdev_ping 命令,以 ESP8266 设备为例,实现代码如下:

https://github.com/RT-Thread-packages/at_device/blob/master/class/esp8266/at_device_esp8266.c#L390-L461

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友