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

六安做网站多少钱然后在亚马逊网站上做外贸

六安做网站多少钱,然后在亚马逊网站上做外贸,厦门电子网站建设,wordpress页面如何调用文章分类一、 UDP服务器-客户端通信 UDP#xff08;User Datagram Protocol#xff09;是一种面向无连接的传输层协议#xff0c;它提供了一种简单的、不可靠的数据传输服务。与TCP#xff08;Transmission Control Protocol#xff09;不同#xff0c;UDP不建立连接#xff0c;…     一、 UDP服务器-客户端通信 UDPUser Datagram Protocol是一种面向无连接的传输层协议它提供了一种简单的、不可靠的数据传输服务。与TCPTransmission Control Protocol不同UDP不建立连接也不保证数据的可靠性和顺序传输。UDP被广泛用于那些对数据传输延迟要求较高且能够容忍一定数据丢失的应用场景如实时音视频传输、在线游戏等。  #include sys/types.h #include sys/socket.h ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen);- 参数- sockfd : 通信的fd- buf : 要发送的数据- len : 发送数据的长度- flags : 0- dest_addr : 通信的另外一端的地址信息- addrlen : 地址的内存大小ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen);- 参数- sockfd : 通信的fd- buf : 接收数据的数组- len : 数组的大小- flags : 0- src_addr : 用来保存另外一端的地址信息不需要可以指定为NULL- addrlen : 地址的内存大小 二、UDP通信时服务器为什么不使用多进程或多线程处理 UDP是一种面向无连接的协议与TCP不同它在传输层不维护连接状态。因此UDP服务器在接收到UDP数据包时并不需要为每个客户端创建新的进程或线程来处理连接。这是因为UDP通信是无连接的每个数据包都是独立的服务器可以直接处理接收到的数据包而无需维护连接状态。 对比一下 TCP传输控制协议 TCP是面向连接的协议它在通信双方之间建立连接保持连接状态并提供可靠的、有序的数据传输。在TCP通信中服务器通常需要为每个客户端连接创建新的进程或线程以处理多个客户端同时发起的连接请求并在连接期间保持状态。 UDP用户数据报协议 UDP是无连接的协议每个UDP数据包都是独立的没有连接状态的维护。服务器在接收UDP数据包时不需要为每个客户端连接创建额外的进程或线程因为它不必保持连接状态。每个数据包都包含足够的信息服务器可以直接处理它们而不必关心连接的保持。 总的来说UDP适用于那些对实时性要求高、能够容忍一定数据丢失的场景因为它的无连接性和较低的开销使其更适合快速而简单的通信。在这样的场景下服务器可以轻松地处理多个客户端的独立请求而无需为每个连接创建额外的进程或线程。 三、服务器客户端代码 服务器 #include stdio.h #include arpa/inet.h #include unistd.h #include string.h #include stdlib.hint main(){// 创建一个通信的socketint fd socket(PF_INET,SOCK_DGRAM,0);if(fd -1){perror(socket);exit(-1);}struct sockaddr_in addr;addr.sin_family AF_INET;addr.sin_port htons(9999);addr.sin_addr.s_addr INADDR_ANY;// 绑定int ret bind(fd,(struct sockaddr *)addr,sizeof(addr));if(ret-1){perror(bind);exit(-1);}while (1){char recvbuf[128];char ipbuf[16];struct sockaddr_in cliaddr;int len sizeof(cliaddr);// 接受数据int num recvfrom(fd,recvbuf,sizeof(recvbuf),0,(struct sockaddr *)cliaddr,len);if(num-1){perror(recvfrom);exit(-1);}printf(client IP is : %s , Port is %d, inet_ntop(AF_INET,cliaddr.sin_addr.s_addr,ipbuf,sizeof (ipbuf)),ntohs(cliaddr.sin_port));printf(client say %s\n,recvbuf );// 发生数据sendto(fd,recvbuf, strlen(recvbuf)1,0,(struct sockaddr *)cliaddr,sizeof(cliaddr));}close(fd);return 0; } 客户端 #include stdio.h #include arpa/inet.h #include unistd.h #include string.h #include stdlib.hint main(){// 创建一个通信的socketint fd socket(PF_INET,SOCK_DGRAM,0);if(fd -1){perror(socket);exit(-1);}struct sockaddr_in saddr;saddr.sin_family AF_INET;saddr.sin_port htons(9999);inet_pton(AF_INET,127.0.0.1,saddr.sin_addr.s_addr); // // 绑定 // int ret bind(fd,(struct sockaddr *)addr,sizeof(addr)); // if(ret-1){ // perror(bind); // exit(-1); // }while (1){char sendbuf[128];int i0;sprintf(sendbuf,hello, i am a client %d\n,i);sendto(fd,sendbuf, strlen(sendbuf)1,0,(struct sockaddr *)saddr,sizeof(saddr));// char ipbuf[16]; // struct sockaddr_in cliaddr; // int len sizeof(cliaddr);// 接受数据int num recvfrom(fd,sendbuf,sizeof(sendbuf),0,NULL,NULL);if(num-1){perror(recvfrom);exit(-1);}printf(SERVER say %s\n,sendbuf);// 发生数据sleep(1);}close(fd);return 0; }
http://www.zqtcl.cn/news/33092/

相关文章:

  • 网站开发需要做什么工作网站开发与数据库
  • 网站建设流程策划方案某网站安全建设方案
  • 成绩查询网站开发网站策划是干什么的
  • 建设网站前需考虑哪些问题建设彩票网站
  • 濮阳网站建设 公司名字wordpress软件
  • 淄博公司网站建设效果如何进行网络推广
  • 网站制作教程手机wordpress重新安装插件
  • 济南网站建设网站建设浙江省建设建材工会网站
  • 做公司网站计入什么会计科目知名高端网站建设报价
  • 国外教程 网站wordpress 菜单保存在哪
  • 网站开发公司挣钱吗WordPress更改logo插件
  • 局域网做网站 内网穿透男和女做暖暖网站
  • 微商城网站开发视频深圳设计公司品牌
  • 网站运营与推广方案QQ群消息同步到WordPress
  • 网站查询工具seo公司厦门
  • 网站 只收录首页梧州网站建设有哪些
  • 汇鑫科技网站建设重庆建工
  • 公司建多个网站php企业网站cms
  • 营销网站的渠道构成基本包括卖东西怎么推广
  • 百中搜如何做网站排名建设门户网站的基本意义有哪些
  • dz网站后台精准大数据获客系统
  • 返利网站开发网站制作方案中哪几个点比较重要
  • 网站建设毕业设计总结网络优化策划书
  • 建网站和做微信哪个好同时优化几个网站
  • 化工企业网站模板wordpress 浏览计数
  • 装修公司网站wordpress 模板php做在线直播网站
  • 网站域名找回密码 用户名株洲网
  • 景安 怎么把网站做别名wordpress释放内存
  • 关键词搜索挖掘爱网站装修设计师培训班
  • 池州网站seo淘宝网站内站建设现状