当前位置: 首页 > news >正文

wordpress五分钟建站百度正版下载并安装

wordpress五分钟建站,百度正版下载并安装,做喷绘可以在那个网站找,百度自己网站排名前言 上一章我们用开发板作为UDP Server进行数据回环测试,本章我们让我们的开发板作为UDP Client进行数据回环测试。 连接方式 使开发板和我们的电脑处于同一网段: 开发板通过交叉线直连主机开发板和主机都接在路由器LAN口 测试工具 网路调试工具&a…

前言

        上一章我们用开发板作为UDP Server进行数据回环测试,本章我们让我们的开发板作为UDP Client进行数据回环测试。

连接方式

使开发板和我们的电脑处于同一网段:

  • 开发板通过交叉线直连主机
  • 开发板和主机都接在路由器LAN口

测试工具

  • 网路调试工具(任意)
  • wireshark抓包工具

回环测试

1.相关代码

我们打开例程中库文件的loopback.c文件,可以看到udp server回环测试函数,它有四个参数:socket(套接字)端口号(0~7个端口,可开8路socket)、数据收发缓存buf、目标IP和目标端口;原理上依旧是通过Switch状态机轮询socket端口(所开端口的套接字)状态,根据不同状态做出相应处理;如果为关闭状态就初始化socket状态为udp协议模式;如果状态已经处于udp模式,即socket初始化后,就主动给目标IP和对应设置的目标端口发送数据,并且进行判断是否收到数据,收到就进行回传。如下所示:

int32_t loopback_udpc(uint8_t sn, uint8_t* buf, uint8_t* destip, uint16_t destport)
{int32_t ret;uint16_t size = 0, sentsize=0;static uint16_t any_port = 50000;switch(getSn_SR(sn)){case SOCK_UDP :sendto(sn, "test", 4, destip, destport);if((size = getSn_RX_RSR(sn)) > 0){if(size > DATA_BUF_SIZE) size = DATA_BUF_SIZE;ret = recvfrom(sn, buf, size, destip, (uint16_t*)&destport);buf[ret]=0x00;printf("recv form[%d.%d.%d.%d][%d]: %s\n", destip[0],destip[1],destip[2],destip[3],destport,buf);if(ret <= 0){
#ifdef _LOOPBACK_DEBUG_printf("%d: recvfrom error. %ld\r\n",sn,ret);
#endifreturn ret;}size = (uint16_t) ret;sentsize = 0;while(sentsize != size){ret = sendto(sn, buf+sentsize, size-sentsize, destip, destport);if(ret < 0){
#ifdef _LOOPBACK_DEBUG_printf("%d: sendto error. %ld\r\n",sn,ret);
#endifreturn ret;}sentsize += ret; // Don't care SOCKERR_BUSY, because it is zero.}}break;case SOCK_CLOSED:
#ifdef _LOOPBACK_DEBUG_//printf("%d:UDP loopback start\r\n",sn);
#endifif((ret = socket(sn, Sn_MR_UDP, any_port, 0x00)) != sn)return ret;
#ifdef _LOOPBACK_DEBUG_printf("%d:Opened, UDP loopback, port [%d]\r\n", sn, any_port);
#endif   break;default :break;}return 1;}

然后我们初始化网络配置信息,目标IP(本机电脑IP)和目标端口,在主函数里循环调用测试函数即可。如下所示:

#define SOCKET_ID 0
#define ETHERNET_BUF_MAX_SIZE (1024 * 2)void network_init(void);wiz_NetInfo net_info = {.mac = {0x00, 0x08, 0xdc, 0x16, 0xed, 0x2e},.ip = {192, 168, 1, 10},.sn = {255, 255, 255, 0},.gw = {192, 168, 1, 1},.dns = {8, 8, 8, 8},.dhcp = NETINFO_STATIC};
wiz_NetInfo get_info;
static uint8_t ethernet_buf[ETHERNET_BUF_MAX_SIZE] = {0,};
static uint8_t destip[4]={192, 168, 1, 2};
static uint16_t destport = 8080;
static uint16_t local_port =8000; // udp server listener port
int main()                                                          
{   stdio_init_all();sleep_ms(2000);network_init();while(true){loopback_udpc(SOCKET_ID, ethernet_buf, destip, destport);// loopback_udps(SOCKET_ID, ethernet_buf, local_port);sleep_ms(500);}}void network_init(void)
{uint8_t temp;wizchip_initialize();printf("W5100s udp client example.\r\n");sleep_ms(2000);wizchip_setnetinfo(&net_info);print_network_information(get_info);sleep_ms(2000);   
}

 2.测试现象

编译烧录后,打开串行监视器,看到网络信息配置成功后,打开两个网络调试助手,参数依次设置为UDP、开发板初始化的目标IP和目标端口,远程主机地址和端口为我们开发板的本地IP和端口,注意这里的端口是在回环函数内部实现的,这里为50000,注意区分UDP Server模式下的本地端口,打开后我们即可看到收到开发板主动发来的数据,然后我们发送0~9十个阿拉伯数字,可以看到串口打印收到的数据,而且调试助手也分别收到了对应回传的数据。如下图所示:

我们可以打开wireshark抓包工具,输入命令<ip.addr == 192.168.1.10 and udp>过滤数据包(IP地址改成自己电脑的IP或者开发板的IP地址即可);然后两个调试助手依次发送,可以到抓到的数据包。如下图所示:

 相关链接 

本章相关例程链接icon-default.png?t=N6B9https://gitee.com/wiznet-hk/example-of-w6100-evb-pico.git

http://www.hkea.cn/news/727404/

相关文章:

  • 网站不兼容ie6自助建站模板
  • 甘肃网站建设公司百中搜优化软件
  • 国内外贸网站建设公司seo教程 百度网盘
  • 一物一码二维码生成系统最好用的系统优化软件
  • 如何在大网站做外链镇江网站建站
  • 杭州网站建设公司导航短视频营销案例
  • 昆明做网站建设有哪些长尾关键词排名工具
  • 一女被多男做的视频网站网站seo系统
  • 网站建设 青海网站建设找哪家好
  • win7 网站配置优化方案官网电子版
  • 广州seo优化公司排名浙江seo博客
  • 全网推广的方式有哪些抖音seo推荐算法
  • 网站开发开源架构抖音营销软件
  • 自己做的网站能放到网上么青岛seo经理
  • 营业推广策划方案邵阳网站seo
  • 手机网站横向切换kol合作推广
  • 专门做超市海报的网站宁波seo咨询
  • 仿网站上的焦点图在线看seo网站
  • 做网站的业务员艾滋病阻断药有哪些
  • web集团网站建设广告投放平台有哪些
  • 大连做网站建设广告资源对接平台
  • 做网站怎么写工作日志泉州网站seo公司
  • wordpress外链站内打开搜索引擎是什么意思啊
  • 做论坛网站需要什么备案新站seo优化快速上排名
  • 动漫网站html百度网盘搜索
  • 怎么看一个网站什么语言做的宝鸡seo培训
  • 数据库网站建设公司他达拉非片
  • 英文商城网站建设搜索引擎营销的特点
  • 易优建站系统图片百度搜索
  • 网站开发不用框架web网站设计