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

中国住房建设部网站南宁外贸网站建设功能公司

中国住房建设部网站,南宁外贸网站建设功能公司,视频网站做app还是h5,分类信息网站怎么做流量UDP服务器的实现流程:一、创建用户数据报套接字(socket函数):通信域选择IPV4网络协议、套接字类型选择数据报式; int sockfd socket(AF_INET,SOCK_DGRAM,0); 二、填充服务器的网络信息结构体:1.定义网络信…
  • UDP服务器的实现流程:
  • 一、创建用户数据报套接字(socket函数):
  • 通信域选择IPV4网络协议、套接字类型选择数据报式
	int sockfd = socket(AF_INET,SOCK_DGRAM,0); 
  • 二、填充服务器的网络信息结构体:
  • 1.定义网络信息结构体变量;
  • 2.求出结构体变量的内存空间大小;
  • 3.结构体清零;
  • 4.使用IPV4网络协议;
  • 5.预留给在终端输入的网络字节序的端口号;
  • 6.预留给在终端输入的IP地址;
	struct sockaddr_in serveraddr; //定义网络信息结构体变量socklen_t serveraddrlen = sizeof(serveraddr);//求出结构体变量的内存空间大小memset(&serveraddr,0,serveraddrlen); //结构体清零serveraddr.sin_family = AF_INET;  //使用IPV4网络协议serveraddr.sin_addr.s_addr = inet_addr(argv[1]); //网络字节序的端口号serveraddr.sin_port = htons(atoi(argv[2])); //IP地址
  • 三、套接字和服务器的网络信息结构体进行绑定(bind函数):
	int ret = bind(sockfd,(struct sockaddr *)&serveraddr,serveraddrlen);
  • 四、接收来自客户端的数据(recvfrom函数)和给客户端发送应答消息(sendto函数):
	int ret1 = recvfrom(sockfd,buf,sizeof(buf),0,(struct sockaddr *)&clientaddr,&clientaddrlen);strcat(buf,"------------k");int ret2 =sendto(sockfd,buf,sizeof(buf),0,(struct sockaddr *)&clientaddr,clientaddrlen);
  • 五、关闭套接字(close函数):
	close(sockfd);
  • 综合应用实例代码如下所示:
//UDP服务器#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <stdlib.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <string.h>
#include <arpa/inet.h>
#include <unistd.h>#define ERRLOG(msg) do{\printf("%s:%s:%d\n", __FILE__, __func__, __LINE__);\perror(msg);\exit(-1);\}while(0)int main(int argc, const char *argv[])
{//入参合理性检查if(3 != argc){printf("Usage : %s <IP> <port>\n", argv[0]);exit(-1);}//创建用户数据报套接字int sockfd = socket(AF_INET,SOCK_DGRAM,0);if(-1 == sockfd){ERRLOG("socket error");}//填充服务器网络信息结构体struct sockaddr_in serveraddr;socklen_t serveraddrlen = sizeof(serveraddr);memset(&serveraddr,0,serveraddrlen);serveraddr.sin_family = AF_INET;serveraddr.sin_addr.s_addr = inet_addr(argv[1]);serveraddr.sin_port = htons(atoi(argv[2]));//将套接字与服务器网络信息结构体绑定if(-1 == bind(sockfd,(struct sockaddr *)&serveraddr,serveraddrlen)){ERRLOG("bind error");}//定义新的结构体,保存来自客户端信息struct sockaddr_in clientaddr;socklen_t clientaddrlen = sizeof(clientaddr);memset(&clientaddr,0,clientaddrlen);//收发数据char buf[128] = {0};while(1){memset(buf,0,sizeof(buf));if(-1 == recvfrom(sockfd,buf,sizeof(buf),0,(struct sockaddr *)&clientaddr,&clientaddrlen)){ERRLOG("recvfrom error");}printf("客户端[%s:%d]发来数据[%s]\n",inet_ntoa(clientaddr.sin_addr),ntohs(clientaddr.sin_port),buf);//组装应答消息strcat(buf,"------------k");if(-1 == sendto(sockfd,buf,sizeof(buf),0,(struct sockaddr *)&clientaddr,clientaddrlen)){ERRLOG("sendto error");}}//关闭套接字close(sockfd);return 0;
}
  • 本示例代码,仅供参考;
http://www.yayakq.cn/news/404092/

相关文章:

  • 广东省网站备案免费零食网站模板
  • 推广型网站开发软件怎么看网站是否备案成功
  • 怎么做网站编程培训班
  • 衡阳做网站ss0734淘客网站难做吗
  • 怎么做监控直播网站做网站大概价格
  • 建设厅网站给领导留言如何查看螺蛳粉的软文推广
  • 三门峡市建设项目备案网站网站开发维护前景
  • 旅游村庄网站建设方案宣传册
  • 广西医科大学网站建设2024年个体工商户年报怎么填
  • o2o典型代表网站用插件做网站
  • 网站建筑设计最新新闻热点国家大事
  • 兰州城建设计院网站seo代码优化包括哪些
  • 门户网站特点怎样做才能让百度前两页有自己网站内容
  • 什么网站都能进的浏览器收录好的博客网站吗
  • 林业厅网站建设方案百度推广后台登陆首页
  • 个人asp网站模板下载哪里有专业网站建设公司
  • 毕业网站建设ppt支部品牌建设实施方案
  • 免费建网站系统临邑云速网站建设
  • 自己建网站卖东西网站设计素材图片
  • 如何制作自己网站深圳网页制作案例
  • 邢台做移动网站对电子商务网站建设和管理的理解
  • 网站建设龙岗用自己的身份做网站备案
  • 成片1卡2卡三卡4卡网站按天扣费优化推广
  • 做网站前应该先出图桂城网站建设制作
  • 北京SEO网站优化公司seo怎么做排名
  • 接做施工图的网站网页设计图片自动切换
  • 佛山做网站3000怀柔谁会网站开发
  • 网站都要icp备案吗西安大型网站设计公司
  • 网站建设 天猫 保证金最美珠海app下载
  • 信息门户网站建设合同wordpress 移动支付