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

站内seo的技巧对外宣传及网站建设文件稿

站内seo的技巧,对外宣传及网站建设文件稿,wordpress插件h5,做一个网站要怎么做懒大王感谢大家的关注和三连支持~ 目录 前言 一、UDP编程 UDP特点#xff1a; UDP框架: UDP函数学习 发送端代码案例如下#xff1a; 二、多路复用 前提讲述 select poll 三、图解如下 总结 前言 作者简介#xff1a; 懒大王敲代码#xff0c;… 懒大王感谢大家的关注和三连支持~       目录 前言 一、UDP编程 UDP特点 UDP框架: UDP函数学习  发送端代码案例如下 二、多路复用  前提讲述 select  poll 三、图解如下  总结         前言 作者简介 懒大王敲代码正在学习嵌入式方向有关课程stm32网络编程数据结构C/C等 今天给大家继续详细讲解网络编程基础知识希望能够帮到大家 欢迎大家点赞 收藏 ⭐ 加关注哦  一、UDP编程 UDP特点 UDP的特点不要连接只管发送数据因此不稳定易丢包。           UDP与TCP不同之处         1没有服务器跟客户端的观念         2没有accept和connect         3UDP实际对于网络需求略高一点 UDP框架: 发送端 :                                                                1创建socket套接字                                 2绑定自己的IP地址和端口号                         3声明别人的IP地址和端口号                         4发送数据(函数有变化)                 接收端:             1创建socket套接字             2绑定自己的IP地址和端口号             3声明别人的IP地址和端口号             4接收数据(函数有变化) UDP函数学习  1sendto             #include sys/types.h             #include sys/socket.h         int sendto(int sockfd, const void *buf, int len, unsigned int flags,                      const struct sockaddr *dest_addr, int addrlen);         功能:             发送数据(用第五参数定位对方的IP地址和端口号)         参数:             sockfd:套接字             buf发送缓冲区             len: 发送缓冲区的长度             flags默认为0             dest_addr:结构体(包含目标的IP和端口号)             addrlen结构体的长度         返回值:             成功返回发送字节数             失败返回-1并设置错误码                      2recvfrom             #include sys/types.h             #include sys/socket.h         int recvfrom(int sockfd, const void *buf, int len, unsigned int flags,                  const struct sockaddr *src_addr, socklen_t *addrlen);         功能:             接收数据(用第五参数定位对方的IP地址和端口号)         参数:             sockfd:套接字             buf接收缓冲区             len: 接收缓冲区的长度             flags默认为0             src_addr:结构体(包含目标的IP和端口号)             addrlen结构体的长度的指针         返回值:             成功返回接收字节数             失败返回-1并设置错误码 发送端代码案例如下 #include stdio.h #include sys/types.h #include sys/socket.h #include arpa/inet.h #include netinet/in.h #include string.h #include stdlib.h #include unistd.h #include pthread.h int main(int argc,char *argv[]) {if(argc5){printf(请输入./可执行 自己IP 自己端口号 目标IP 目标端口号\n);return -1;}//1创建socket套接字int sfd;sfd socket(AF_INET,SOCK_DGRAM,0);//注意换UDP类型if(sfd0){perror(socket);return -1;}//2绑定自己的IP和端口号struct sockaddr_in myself;myself.sin_family AF_INET;myself.sin_port htons(atoi(argv[2])); //9000myself.sin_addr.s_addr inet_addr(argv[1]);if(bind(sfd,(struct sockaddr *)myself,sizeof(myself))0){perror(bind);return -1;}//3声明别人的IP和端口号struct sockaddr_in other;other.sin_family AF_INET;other.sin_port htons(atoi(argv[4])); //8888other.sin_addr.s_addr inet_addr(argv[3]);//4发送数据char buf[50];while(1){bzero(buf,sizeof(buf));scanf(%s,buf);sendto(sfd,buf,strlen(buf),0,(struct sockaddr *)other,sizeof(other));}close(sfd);return 0; } 接收端代码案例如下 #include stdio.h #include sys/types.h #include sys/socket.h #include arpa/inet.h #include netinet/in.h #include string.h #include stdlib.h #include unistd.h #include pthread.h int main(int argc,char *argv[]) {if(argc5){printf(请输入./可执行 自己IP 自己端口号 目标IP 目标端口号\n);return -1;}//1创建socket套接字int sfd;sfd socket(AF_INET,SOCK_DGRAM,0);//注意换UDP类型if(sfd0){perror(socket);return -1;}//2绑定自己的IP和端口号struct sockaddr_in myself;myself.sin_family AF_INET;myself.sin_port htons(atoi(argv[2])); //8888myself.sin_addr.s_addr inet_addr(argv[1]);if(bind(sfd,(struct sockaddr *)myself,sizeof(myself))0){perror(bind);return -1;}//3声明别人的IP和端口号struct sockaddr_in other;other.sin_family AF_INET;other.sin_port htons(atoi(argv[4])); //9000other.sin_addr.s_addr inet_addr(argv[3]);//4接受数据char buf[50];int len sizeof(other);while(1){bzero(buf,sizeof(buf));recvfrom(sfd,buf,sizeof(buf),0,(struct sockaddr *)other,len);printf(发送方说:%s\n,buf);}close(sfd);return 0; } 二、多路复用  前提讲述 IO阻塞和IO非阻塞     int fcntl(int fd, int cmd, long arg); //改变文件描述符的特性       int flag       flag fcntl(sockfd, F_GETFL, 0);//F_GETFL获取文件描述符的特性       flag | O_NONBLOCK;//配置非阻塞       fcntl(sockfd, F_SETFL, flag);//设置文件描述符特性为非阻塞 select  select         int select(int nfds, fd_set *readfds, fd_set *writefds,                 fd_set *exceptfds, struct timeval *timeout);         功能就是将你要关心的文件描述符放入一个集合中将这个集合交给内核判断当集合中                 某个文件描述符被触发时解除阻塞。                 参数             nfds:最大文件描述符1             readfds读集合             writefds:写集合             exceptfds:异常集合             timeout超时时间         返回值:             成功返回那个被触发的文件描述符             失败返回-1并设置错误码         struct timeval {                long    tv_sec;         /* seconds */     秒                long    tv_usec;        /* microseconds */ 微妙            };                            void FD_ZERO(fd_set *fdset)  清除文件描述符集合             void FD_SET(int fd,fd_set *fdset)     将你要关心的文件描述符放入集合中             void FD_CLR(int fd,fd_set *fdset)     将文件描述符移除集合             int FD_ISSET(int fd,fd_set *fdset)     判断文件描述符是否在集合中                        fd_set是一个数据类型本质是一个字节数组。长度为1024.            readfds读集合,往读集合放入我们关心的0serfd描述符            当select解除阻塞说明这两个文件描述符有一个被触发了。            一旦有文件描述符被触发将移除集合中未触发的。再利用FD_ISSET去判断                poll poll         #include poll.h         int poll(struct pollfd* fds, nfds_t nfds, int timeout)         功能:             多路复用看哪个文件描述符就绪做对应操作看结构体第三参数是否被内核改变         参数:             fds结构体数组记             nfds要判断的文件描述符个数             timeout超时时间0表示不阻塞;0,阻塞的时间;默认设置为-1表示阻塞         返回值             成功返回0             失败返回-1并设置错误码         struct pollfd {             int     fd;            // 委托内核检测的文件描述符                你希望监听文件描述符0  用户设置             short   events;        // 委托内核检测文件描述符的什么事件        监听它被触发也就是有数据可读POLLIN 用户设置             short     revents     // 文件描述符实际发生的事件             内核设置         }   三、图解如下  总结 关于C/C网络编程基础知识超详细讲解第二部分的详解懒大王就先分享到这里了如果你认为这篇文章对你有帮助请给懒大王点个赞点个关注吧如果发现什么问题欢迎评论区留言 
文章转载自:
http://www.morning.ffwrq.cn.gov.cn.ffwrq.cn
http://www.morning.hcsqznn.cn.gov.cn.hcsqznn.cn
http://www.morning.rxfgh.cn.gov.cn.rxfgh.cn
http://www.morning.nngq.cn.gov.cn.nngq.cn
http://www.morning.tbjtm.cn.gov.cn.tbjtm.cn
http://www.morning.ylpwc.cn.gov.cn.ylpwc.cn
http://www.morning.baguiwei.com.gov.cn.baguiwei.com
http://www.morning.yfnjk.cn.gov.cn.yfnjk.cn
http://www.morning.ppwdh.cn.gov.cn.ppwdh.cn
http://www.morning.mytmx.cn.gov.cn.mytmx.cn
http://www.morning.mtmnk.cn.gov.cn.mtmnk.cn
http://www.morning.ztjhz.cn.gov.cn.ztjhz.cn
http://www.morning.mqpdl.cn.gov.cn.mqpdl.cn
http://www.morning.xgjhy.cn.gov.cn.xgjhy.cn
http://www.morning.rjrnx.cn.gov.cn.rjrnx.cn
http://www.morning.ztcwp.cn.gov.cn.ztcwp.cn
http://www.morning.hdrsr.cn.gov.cn.hdrsr.cn
http://www.morning.chongzhanggui.cn.gov.cn.chongzhanggui.cn
http://www.morning.mhlkc.cn.gov.cn.mhlkc.cn
http://www.morning.drswd.cn.gov.cn.drswd.cn
http://www.morning.krhkb.cn.gov.cn.krhkb.cn
http://www.morning.wqpr.cn.gov.cn.wqpr.cn
http://www.morning.fnwny.cn.gov.cn.fnwny.cn
http://www.morning.hfytgp.cn.gov.cn.hfytgp.cn
http://www.morning.dbtdy.cn.gov.cn.dbtdy.cn
http://www.morning.dpjtn.cn.gov.cn.dpjtn.cn
http://www.morning.bgpch.cn.gov.cn.bgpch.cn
http://www.morning.wrtpk.cn.gov.cn.wrtpk.cn
http://www.morning.lnfkd.cn.gov.cn.lnfkd.cn
http://www.morning.txkrc.cn.gov.cn.txkrc.cn
http://www.morning.rfrx.cn.gov.cn.rfrx.cn
http://www.morning.cttti.com.gov.cn.cttti.com
http://www.morning.nllst.cn.gov.cn.nllst.cn
http://www.morning.psxxp.cn.gov.cn.psxxp.cn
http://www.morning.sbncr.cn.gov.cn.sbncr.cn
http://www.morning.qwqzk.cn.gov.cn.qwqzk.cn
http://www.morning.pxspq.cn.gov.cn.pxspq.cn
http://www.morning.mjbjq.cn.gov.cn.mjbjq.cn
http://www.morning.pqqxc.cn.gov.cn.pqqxc.cn
http://www.morning.btsls.cn.gov.cn.btsls.cn
http://www.morning.qtltg.cn.gov.cn.qtltg.cn
http://www.morning.c7497.cn.gov.cn.c7497.cn
http://www.morning.hkng.cn.gov.cn.hkng.cn
http://www.morning.mjqms.cn.gov.cn.mjqms.cn
http://www.morning.tnnfy.cn.gov.cn.tnnfy.cn
http://www.morning.pwzzk.cn.gov.cn.pwzzk.cn
http://www.morning.ykshx.cn.gov.cn.ykshx.cn
http://www.morning.kwjyt.cn.gov.cn.kwjyt.cn
http://www.morning.mfcbk.cn.gov.cn.mfcbk.cn
http://www.morning.qfbzj.cn.gov.cn.qfbzj.cn
http://www.morning.ysckr.cn.gov.cn.ysckr.cn
http://www.morning.khxwp.cn.gov.cn.khxwp.cn
http://www.morning.jtszm.cn.gov.cn.jtszm.cn
http://www.morning.ywxln.cn.gov.cn.ywxln.cn
http://www.morning.zpqbh.cn.gov.cn.zpqbh.cn
http://www.morning.qwwcf.cn.gov.cn.qwwcf.cn
http://www.morning.drrt.cn.gov.cn.drrt.cn
http://www.morning.bynf.cn.gov.cn.bynf.cn
http://www.morning.nyjgm.cn.gov.cn.nyjgm.cn
http://www.morning.kwqt.cn.gov.cn.kwqt.cn
http://www.morning.gkktj.cn.gov.cn.gkktj.cn
http://www.morning.rtspr.cn.gov.cn.rtspr.cn
http://www.morning.zrkws.cn.gov.cn.zrkws.cn
http://www.morning.srrzb.cn.gov.cn.srrzb.cn
http://www.morning.lgwpm.cn.gov.cn.lgwpm.cn
http://www.morning.psyrz.cn.gov.cn.psyrz.cn
http://www.morning.llcsd.cn.gov.cn.llcsd.cn
http://www.morning.qzpw.cn.gov.cn.qzpw.cn
http://www.morning.nwmwp.cn.gov.cn.nwmwp.cn
http://www.morning.ldsgm.cn.gov.cn.ldsgm.cn
http://www.morning.zlsmx.cn.gov.cn.zlsmx.cn
http://www.morning.qzpw.cn.gov.cn.qzpw.cn
http://www.morning.rmyt.cn.gov.cn.rmyt.cn
http://www.morning.jzykq.cn.gov.cn.jzykq.cn
http://www.morning.ppqjh.cn.gov.cn.ppqjh.cn
http://www.morning.zhnpj.cn.gov.cn.zhnpj.cn
http://www.morning.rkwwy.cn.gov.cn.rkwwy.cn
http://www.morning.cwznh.cn.gov.cn.cwznh.cn
http://www.morning.ztjhz.cn.gov.cn.ztjhz.cn
http://www.morning.baguiwei.com.gov.cn.baguiwei.com
http://www.tj-hxxt.cn/news/251700.html

相关文章:

  • 微软网站开发工具小说搜索风云榜
  • 策划方案网站长沙seo优化
  • 电影网站如何做采集qq企业邮箱注册申请
  • 给公司做网站要多少钱网站建设费用申报
  • 安阳百度网站制作多少钱色盲怎么治疗
  • 模板的网站都有哪些内容房产信息网官方
  • 企业做网站需要注意什么问题建建建设网站
  • 北京企业响应式网站建设北京做推广的公司
  • 创建网站代码是什么情况好的h5网站模板
  • 南京做网站的公司排名正在运营的网站被注销备案怎么办
  • dnf免做卡网站wordpress 更改首页
  • 大红门做网站的公司帝国网站管理系统前台
  • 庄辉个人网站建设教学seo发包技术教程
  • 网站入门晋中网络推广
  • 自己做音乐网站挣钱吗广州建站平台哪家好
  • 消防设备网站建设私有云可以建设网站
  • 团购网站 seo大连做网站优化
  • wordpress文章编辑器路径seo是什么意思
  • 简洁的网站如何做网站百科
  • 微信手机官方网站wordpress 后台主题
  • wordpress付费插件网站知名电子商务网站有哪些
  • 设计师培训大纲宁波seo超级外链工具
  • 番禺制作网站系统网页游戏网站大全突袭
  • 自己学习建设网站江苏建设教育培训网
  • 用手机怎样制作网站浪味仙儿 wordpress
  • 自己做的网站怎么改背景图高级感ppt模板免费
  • 如何寻找建设网站的公司做网站推广需要做什么
  • 企业网站建设需要提供什么内容天津网站制作价格
  • 网站免费正能量软件下载视频适合一人开店的加盟店
  • 海南定安建设局网站医药公司网站建设方案