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

上海哪家做网站好嘉兴的网站设计公司有哪些

上海哪家做网站好,嘉兴的网站设计公司有哪些,百度在线下载,wordpress 汉化不是很好1. Socket接口UDP连接配置 Socket接口的UDP配置流程如下: sin_family 设置为 AF_INET 表示 IPv4 网络协议;sin_port 为设置端口号, 可设置为 8080;sin_addr.s_addr 设置本地 IP 地址;调用函数 Socket 创建 Socket 连…

1. Socket接口UDP连接配置

Socket接口的UDP配置流程如下:

  1. sin_family 设置为 AF_INET 表示 IPv4 网络协议;
  2. sin_port 为设置端口号, 可设置为 8080;
  3. sin_addr.s_addr 设置本地 IP 地址;
  4. 调用函数 Socket 创建 Socket 连接 ,注意该函数的第二个参数 SOCK_STREAM 表示 TCP 连接 SOCK_DGRAM 表示 UDP 连接;
  5. 调用函数 bind 将本地服务器地址与 Socket 进行绑定;
  6. 调用收发函数接收或者发送。

2. Socket接口UDP实验

例程功能:
本实验使用
Socket 编程接口实现 UDP 服务器, 并可通过按键发送 UDP 广播数据至其他的 UDP 客户端,也能够接收其他 UDP 客户端广播的数据,并实时显示至 LCD 屏幕上 。

main.c和freertos.c都与之前的NETCONN实验是一样的;

lwip_demo中,可以直接IP_ADDR通过宏定义为自己的远程IP地址;这里还有一个区别,发送和接收是创建了两个线程,而之前的NETCONN在一个线程中,通过延时完成发送和接收;

通过sockaddr_in的结构体新建一个g_local_info来填写网络的相关参数,uint8_t一个数据缓冲区g_lwip_demo_recvbuf;通过lwip_data_send调用sys_thread_new新建一个发送线程,其中就传入了lwip_send_thread;然后memset对g_local_info清零,并通过其结构体参数初始化长度、IP协议和本地IP地址和端口号;然后调用socket建立一个新的Socket连接,返回给到g_sock_fd(socklen_t,就是uint32_t);

完成创建之后,通过bind把g_local_info的信息绑定到g_sock_fd

然后会进入到while死循环,通过memset初始化数据缓冲区为0;然后调用recv来进行数据接收,这是一个阻塞线程,只有接收到数据才能往下执行;接收到数据之后,调用xQueueSend,发送到显示的功能中进行显示

发送的线程,最后就是调用了自定义的lwip_send_thread;其会在g_local_info之中设置远程的IP地址;通过标志位判断是否需要发送(标志位的操作通过按键改变);发送就是调用sendto函数,发送完成后清除标志位。

3. Socket接口UDP广播实验

这里的区别就是新建了send和recv的结构体,里面存放了缓冲的buf和size大小;lwip_demo中需要建立一个link_socjet_info结构体的指针socket_info,然后mem_malloc分配socket_info的内存;之后调用socket建立连接,通过setsockopt设置optval选项值;然后配置socket_info的IP协议、端口号还有本地IP地址,需要注意这里是广播所以配置为“255.255.255.255”;之后的发送和接收就是一样的操作了。

4. Socket接口UDP组播实验

首先需要配置HAL库:
在ethernet.c中,找到HAL_ETH_Init函数,进入后下翻找到ETH_MACDMAConfig,往下找,有两个一定要如下配置:
macinit.ReceiveAll = ETH_RECEIVEALL_ENABLE;
macinit.MulticastFramesFilter = ETH_MULTICASTFRAMESFILTER_NONE;

这样才可以使用组播;

然后再lwipopts.h中找到IGMP的配置,该宏定义必须置1

找到ethernetif.c,其中网卡的flags需要如下配置:
netif->flags = NETIF_FLAG_BROADCAST|NETIF_FLAG_ETHARP|NETIF_FLAG_LINK_UP|NETIF_FLAG_IGMP; / 广播 ARP协议 链接检测 /
添加了IGMP;

组播与之前的区别就是,在link_socjet_info中添加了ip_mreq这个组播结构体multicast_mreq;然后定义一个结构体ip_mreq_t里面存储多播的控制块ip_mreq结构体的mreq以及信息长度socklen_t结构体的mreq_len

多播的IP地址为“224.0.1.0”,lwip_demo中还需要定义一个ip_mreq_t的结构体指针mreq_info;同样也要对socket_info添加IP协议和本地IP地址和端口号,然后设置就收和发送缓冲区并调用bind绑定socket_info以及本地的网络接口;

区别在于,还需要设置mreq_info,也就是组播的IP地址以及待加入的IP地址,然后调用setsockopt添加多组播成员

其余的发送和接收线程就与之前类似,这里不赘述了。

总结

Socket来进行开发比NETCONN更加简单,更多的会使用Socket来进行开发,除非对实时性要求很高,那就会自行实现RAW接口。

http://www.yayakq.cn/news/399694/

相关文章:

  • 沙河网站建设免费咨询律师网
  • 网站的上一页怎么做温州手机网站制作哪家好
  • 网站建设多少钱裤榆社网站建设
  • 想自己做网站 有免费的吗湖北短视频seo营销
  • 哪有做企业网站苏州网站建设的公司
  • 渑池县建设局网站无锡网站建设无锡
  • 十堰优化网站公司WordPress人物插件
  • 行业门户网站开发南宁建站软件
  • 呼市做网站的公司爱站网工具包
  • 做网站要多少回扣iis 提示网站到期
  • 山东省建设厅制一网站维修保养网站开发
  • 通达oa 做网站微生成网站
  • 济源专业做网站公司网站seo关键词优化
  • 天津网站建设 Wordpress专业的网站开发团队需要哪些人
  • php网站开发环境论文潍坊可以做网站的公司
  • 火车票网站建设多少钱wordpress采集网站
  • 建站多少钱一个域名证书怎么申请
  • 10有免费建网站杭州网站制作模板
  • 建网站得钱吗html5网站模板怎么用
  • 如何寻找建设网站的公司wordpress怎么在首页调用easing-slider
  • 石家庄建设网站的公司临时网站怎么做
  • 网站做服务端wordpress发英文文章
  • 做网站视频下载创建网站的公司
  • 云南专业做网站多少钱深圳网站建设 信科便宜
  • 教学参考网站建设鞍山手机网站设计
  • wordpress最新漏洞系统清理优化工具
  • 京东网站建设的详细策划印度软件外包
  • 深圳专业做网站的公司有哪些个人网站设计的意义
  • 公司用于做网站的费用怎么做账sem推广竞价
  • 温州网站推广公司公司部门撤销要求转岗不同意怎么办