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

简单个人博客模板网站网络营销策略的特点

简单个人博客模板网站,网络营销策略的特点,自动设计logo的软件,交通银行网站开发文章目录 1. TCP通信 客户端(关键配置)2. TCP 服务端配置3. UDP 点播通信4. UDP 广播通信5. UIP_UDP_APPCALL 里边的处理example6. TCP数据处理 ,UIP_APPCALL调用的函数 UIP_APPCALL TCP的数据都在这个宏定义的函数里进行数据处理的 UDP 数据…

文章目录

  • 1. TCP通信 客户端(关键配置)
  • 2. TCP 服务端配置
  • 3. UDP 点播通信
  • 4. UDP 广播通信
  • 5. UIP_UDP_APPCALL 里边的处理example
  • 6. TCP数据处理 ,UIP_APPCALL调用的函数

UIP_APPCALL TCP的数据都在这个宏定义的函数里进行数据处理的
UDP 数据在#define UIP_UDP_APPCALL udp_appcall 中处理

1. TCP通信 客户端(关键配置)

// 定义 MAC 地址(6 字节)static const uint8_t mac_address[6] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55};// 设置 MAC 地址memcpy(ethaddr.addr, mac_address, sizeof(mac_address));uip_setethaddr(ethaddr);uip_ipaddr_t ipaddr;uip_init();                          // uIP初始化uip_ipaddr(ipaddr, 192, 168, 1, 137); // 设置本地设置IP地址uip_sethostaddr(ipaddr);uip_ipaddr(ipaddr, 192, 168, 1, 1); // 设置网关IP地址(其实就是你路由器的IP地址)uip_setdraddr(ipaddr);uip_ipaddr(ipaddr, 255, 255, 255, 0); // 设置网络掩码uip_setnetmask(ipaddr);uip_ipaddr_t ipaddr;uip_ipaddr(&ipaddr, 192, 168, 1, 100); // 设置TCP Server IP为192.168.1.100uip_connect(&ipaddr, htons(8080));     // 端口为1400

2. TCP 服务端配置

    uip_ipaddr_t ipaddr, remote_ip;// 定义 MAC 地址(6 字节)static const uint8_t mac_address[6] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55};// 设置 MAC 地址memcpy(ethaddr.addr, mac_address, sizeof(mac_address));uip_setethaddr(ethaddr);// uIP初始化uip_init();/* ARP table initialize. */uip_arp_init();/*-----------UIP-TCP-Server---------------------*/// 设置本地设置IP地址uip_ipaddr(ipaddr, 192, 168, 1, 137);uip_sethostaddr(ipaddr);// 设置网关IP地址(其实就是你路由器的IP地址)uip_ipaddr(ipaddr, 192, 168, 1, 1);uip_setdraddr(ipaddr);// 设置网络掩码uip_ipaddr(ipaddr, 255, 255, 255, 0);uip_setnetmask(ipaddr);// 设置 远程客户端IP为192.168.1.100uip_ipaddr(&remote_ip, 192, 168, 1, 100);uip_connect(&remote_ip, htons(7090)); /*连接到远程客户端的通信端口为7090 *//* We start to listen for connections on TCP port 8090. */uip_listen(HTONS(8090));/*-----------UIP-TCP-Server---------------------*/

3. UDP 点播通信

uip_ipaddr_t remote_addr;struct uip_udp_conn *udp_conn;// 设置远程主机的 IP 地址为 192.168.1.100uip_ipaddr(&remote_addr, 192, 168, 1, 100);// 创建到 remote 192.168.1.100:1215 的 UDP 连接udp_conn = uip_udp_new(&remote_addr, HTONS(1215));if (udp_conn == NULL){UART1_Send_String("Failed to create UDP connection! \r\n");}else{uip_udp_bind(udp_conn, HTONS(1234)); // 绑定本地端口 1234}

4. UDP 广播通信

UDP 广播需要打开这个宏

#ifndef UIP_CONF_BROADCAST
#define UIP_BROADCAST 1
#else /* UIP_CONF_BROADCAST /
#define UIP_BROADCAST UIP_CONF_BROADCAST
#endif /
UIP_CONF_BROADCAST */

   /*Broadcast IP ADDR*/uip_ipaddr_t Broadcast_addr;struct uip_udp_conn *udp_conn;// UDP广播地址,本局域网中的所有设备uip_ipaddr(&Broadcast_addr, 255, 255, 255, 255);/*UDP 广播端口1212*/udp_conn = uip_udp_new(&Broadcast_addr, HTONS(0));if (udp_conn == NULL){UART1_Send_String("Failed to create UDP connection! \r\n");}else{uip_udp_bind(udp_conn, HTONS(3956));}

5. UIP_UDP_APPCALL 里边的处理example

    /*udp rx data*/if (uip_newdata()){#if (USE_GVCP==1)gvcp_discover_callback();#elsechar *data = (char *)uip_appdata;int len = uip_datalen();memset(udp_server_databuf, 0, 1500);memcpy((char *)udp_server_databuf,(char *)uip_appdata,uip_len);// 打印接收到的数据UART1_Send_String("[UDP_RX]:");UART1_Send_String(udp_server_databuf);UART1_Send_String("\r\n");#endif}// 当需要重发、新数据到达、数据包送达,通知uip发送数据if (uip_rexmit() || uip_newdata() || uip_poll()){#if (USE_GVCP==1)#else// 将数据复制到 uIP 的应用层数据缓冲区memcpy(uip_appdata, message, sizeof(message));// 发送数据uip_udp_send(sizeof(message));  // 发送的字节数#endif}

6. TCP数据处理 ,UIP_APPCALL调用的函数

/*** @brief 这是一个TCP 服务器应用回调函数。*  该函数通过UIP_APPCALL(tcp_demo_appcall)调用,实现Web Server的功能.* 当uip事件发生时,UIP_APPCALL函数会被调用,根据所属端口(1200),确定是否执行该函数。* 例如 : 当一个TCP连接被创建时、有新的数据到达、数据已经被应答、数据需要重发等事件*/
void tcp_server_demo_appcall(void)
{// 连接终止if (uip_aborted()){uip_log("TCP_Server Aborted!\r\n"); // 打印log}// 连接超时if (uip_timedout()){uip_log("TCP_Server Timeout!\r\n"); // 打印log}// 连接关闭if (uip_closed()){uip_log("TCP_server CLOSED!\r\n"); // 打印log}// 连接成功if (uip_connected()){uip_log("TCP_Server Connected OK!\r\n"); // 打印log}// 发送的数据成功送达if (uip_acked()){// uip_log("TCP_Server ACK OK!\r\n");}else{/*数据发送失败*/// uip_log("TCP_Server NOT ACK!\r\n");}/* 接收到一个新的TCP数据包,收到客户端发过来的数据*/if (uip_newdata()){memcpy(&request, uip_appdata, uip_len);if (PROTOCOL_REQUEST_MAGIC == request.header.nMagic){// uip_log("Recive APP SDK Update!\r\n");protocol_handle_request(&request, &response);}else{uip_log("Recive APP Bin data ERROR! \r\n");}uip_send(&response, response.buf.len);}}/*** @brief TCP应用接口函数(UIP_APPCALL)*  完成TCP服务(包括server和client)*/
void tcp_demo_appcall(void)
{switch (uip_conn->lport) // 本地监听端口80和1200{case HTONS(8090):tcp_server_demo_appcall();// uip_log("tcp_demo_appcall Local 8080 TCP Server!! \r\n");}#ifdef TCP_Client/*tcp client use */switch (uip_conn->rport) // 远程连接8080端口{case HTONS(8080): // 一旦有来自远程主机的信息,就调用此函数// tcp_client_demo_appcall();// uip_log("tcp_demo_appcall Remote 8080 TCP Client!! \r\n");break;}#endif}

文章转载自:
http://wanjiacamphor.hwLk.cn
http://wanjiaimpavidity.hwLk.cn
http://wanjiapiecewise.hwLk.cn
http://wanjiagyral.hwLk.cn
http://wanjiaprograde.hwLk.cn
http://wanjiakilling.hwLk.cn
http://wanjiaseventyfold.hwLk.cn
http://wanjiahistorify.hwLk.cn
http://wanjiapossessory.hwLk.cn
http://wanjiacontainment.hwLk.cn
http://wanjiagrumbling.hwLk.cn
http://wanjiaphonily.hwLk.cn
http://wanjiascart.hwLk.cn
http://wanjiamordict.hwLk.cn
http://wanjiaupya.hwLk.cn
http://wanjiaiberian.hwLk.cn
http://wanjiafauteuil.hwLk.cn
http://wanjiafootsure.hwLk.cn
http://wanjiasalian.hwLk.cn
http://wanjiagenocidal.hwLk.cn
http://wanjiataser.hwLk.cn
http://wanjiadamaging.hwLk.cn
http://wanjiaoceanology.hwLk.cn
http://wanjiasubdelegate.hwLk.cn
http://wanjiaupbraidingly.hwLk.cn
http://wanjiabackground.hwLk.cn
http://wanjiaamontillado.hwLk.cn
http://wanjianatantly.hwLk.cn
http://wanjiaannoying.hwLk.cn
http://wanjialicente.hwLk.cn
http://wanjiahankie.hwLk.cn
http://wanjiahyposulphurous.hwLk.cn
http://wanjiacarper.hwLk.cn
http://wanjiahistogeny.hwLk.cn
http://wanjiawakamatsu.hwLk.cn
http://wanjiaackemma.hwLk.cn
http://wanjiamideast.hwLk.cn
http://wanjiamonumentally.hwLk.cn
http://wanjiahumint.hwLk.cn
http://wanjiafloorward.hwLk.cn
http://wanjiadamnable.hwLk.cn
http://wanjiamarasmic.hwLk.cn
http://wanjiaswelling.hwLk.cn
http://wanjiastuffiness.hwLk.cn
http://wanjiamit.hwLk.cn
http://wanjiaaccompanist.hwLk.cn
http://wanjiadiagonalize.hwLk.cn
http://wanjiacrookback.hwLk.cn
http://wanjiaeruciform.hwLk.cn
http://wanjiadiscusser.hwLk.cn
http://wanjiabookmarker.hwLk.cn
http://wanjialongspur.hwLk.cn
http://wanjiagladius.hwLk.cn
http://wanjiahemolymph.hwLk.cn
http://wanjiaspiky.hwLk.cn
http://wanjiaazygos.hwLk.cn
http://wanjiachipmuck.hwLk.cn
http://wanjiaguangxi.hwLk.cn
http://wanjiageologic.hwLk.cn
http://wanjiatimberyard.hwLk.cn
http://wanjiariflery.hwLk.cn
http://wanjiabazooka.hwLk.cn
http://wanjiagault.hwLk.cn
http://wanjiaprf.hwLk.cn
http://wanjiagyrene.hwLk.cn
http://wanjiagastrointestinal.hwLk.cn
http://wanjiaallover.hwLk.cn
http://wanjiachummery.hwLk.cn
http://wanjiamincemeat.hwLk.cn
http://wanjiacrossly.hwLk.cn
http://wanjiaavoidable.hwLk.cn
http://wanjiabatsman.hwLk.cn
http://wanjiasatsang.hwLk.cn
http://wanjiacanaller.hwLk.cn
http://wanjiagroundwater.hwLk.cn
http://wanjiaoctocentenary.hwLk.cn
http://wanjiaminibudget.hwLk.cn
http://wanjiadisperse.hwLk.cn
http://wanjiabuzkashi.hwLk.cn
http://wanjiadecorticate.hwLk.cn
http://www.15wanjia.com/news/118034.html

相关文章:

  • php网站如何上传数据库三只松鼠搜索引擎推广
  • 怎样建设网站空间推广有奖励的app平台
  • 做ppt的网站叫什么名字可口可乐营销策划方案
  • wordpress源码好乱系统优化软件有哪些
  • 网上做论文的网站有哪些推广平台有哪些渠道
  • 网站自己怎么做优化广告投放策略
  • 进出口外贸公司长沙百度快速优化
  • 龙岩做网站公司百度推广产品
  • 企业网站ui模板下载沧州seo包年优化软件排名
  • 二手商品网站怎么做免费网页模板网站
  • 做电商网站是什么什么是信息流广告
  • 茶叶响应式网站今日广东头条新闻
  • 怎么自己制作网页新闻关键词自动优化
  • 网站做推广需要营业执照h5网站制作平台
  • 东营网站建设方案策划搜索引擎优化免费
  • 定制化网站建设百度点击软件
  • 如何做输入密码进入网站零基础怎么做电商
  • 中山技术支持中山网站建设营销网站优化推广
  • 做电影资源缓存网站教程网站宣传
  • 网站开发开题报告关键问题百度联盟广告
  • 网上兼职做效果图网站策划推广
  • 温州建设管理处网站网站查询入口
  • wordpress实现点赞百度seo手机
  • 长沙网站建设王道下拉惠汕头seo按天付费
  • 如何做彩票网站的源码深圳市住房和建设局
  • 给一个学校网站做宣传海报seo排名优化北京
  • 赣州服装网站建设深圳推广系统
  • html5做网站广东seo网络培训
  • 专做零食的网站南京最新消息今天
  • 广州云脑网站建设头条广告入口