• 大小: 4KB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-01-07
  • 语言: 其他
  • 标签: udp丢包率  

资源简介

udp丢包率统计

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
//#include 
#define MAXLINE 500   //定义文本队列长度
#define SERV_PORT 7    //服务器端口号
#pragma comment(lib“ws2_32.lib“) 



//void printerr();

//socket初始化
void StartUp()

WSADATA wsaData;
WORD version=MAKEWORD(20);
int ret=WSAStartup(version&wsaData);
if(ret!=0)
   printf(“初始化失败“);
}
//free the socket
void CleanUp()
{
if(WSACleanup()!=0)
printf((char*)WSAGetLastError());
}


//获取用户输入并与服务器通信
void dg_cli_simple(FILE*fpint sockfdLPSOCKADDR pservaddrint servlen)
{
 char sendline[20]recvline[MAXLINE+1];
 char pre1[20]=“aaaaaaghijklmnsssss“pre2[20]=“bbbbbbhijklmnottttt“pre3[20]=“ccccccijklmnopvvvvv“;
 sockaddr_in servaddr;
 int ncount=0miss=0;
 char ndg[500];//待循环发送的数据

 //memset(sendline0500);//清0 sendline
  
 memset(recvline0MAXLINE);//清0 recvline
 
 
 for(int i=0;i<300;i++)
 {
     memset(sendline0sizeof(sendline));
 
 switch(i%10){

 case(0):
 case(3):
 case(6):memcpy(sendlinepre1sizeof(sendline));break;
case(1):
case(4):
case(7):
case(9):memcpy(sendlinepre2sizeof(sendline));break;
   case(2):
   case(5):
   case(8):memcpy(sendlinepre3sizeof(sendline));break;
 /*case(3):memcpy(sendlinepre1sizeof(sendline));break;
 case(4):memcpy(sendlinepre2sizeof(sendline));break;
 case(5):memcpy(sendlinepre3sizeof(sendline));break;
 case(6):memcpy(sendlinepre1sizeof(sendline));break;
 case(7):memcpy(sendlinepre2sizeof(sendline));break;
 case(8):memcpy(sendlinepre3sizeof(sendline));break;
 case(9):memcpy(sendlinepre2sizeof(sendline));
break;*/
 }
 
 
     //printf(“\r\n\r\n“);
 //cout<<“客户端第“<  //printf(“客户端发送数据:%s\r\n“&sendline);   
 //count++;
 //sendline[20]=“abcdefghijklmnopqrs“;
//memset(sendline+sizeof(‘a‘)661);
//memset(sendline+2‘abcd‘sizeof(‘abcd‘));//置sendline   fgets(sendlineMAXLINEfp)!=NULL
//printf(“%d“sizeof(好));
//将用户输入发送给服务器
 if(sendline==“EOF“)
         return;
     
 //* 将读入行发送到服务器套接口
     if((sendto(sockfdsendlinestrlen(sendline)0pservaddrservlen))==SOCKET_ERROR)
 {
           printf(“SEND error“);
           //  printerr();
   system(“pause“);
           return;
 }
          // len = servlen; 
          //*从读入回射读入字节数为n 不关心从何处读入
     if((n=recvfrom(sockfdrecvlineMAXLINE0NULL NULL))==SOCKET_ERROR)
 {
      printf(“\r\n接收数据错误\r\n“);
  miss++;
      //printerr();
  //system(“pause“);
      //return;
 }
        else 
      if(n>0)
{
      recvline[n]=0;
      //if(count>0)printf(“客户端收到数据:“);
      //if(fputs(recvlinestdout)==EOF)
    //printf(“fputs error“);
}
        
         memset(&servaddr0sizeof(servaddr));
}
printf(“共发送%d数据报,丢失%d个,丢包率为%f“imiss(float)miss/(float)i);
system(“pause“);
}


 
 
 
 /*while(fgets(sendlineMAXLINEfp)!=NULL)// 从键盘读入一行 
 {
         count++;


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-07-17 15:25  udp丢包率\
     文件        5117  2011-11-08 15:12  udp丢包率\丢包率数据报回射 client.cpp
     文件        2542  2011-11-08 14:57  udp丢包率\丢包率数据报回射 server.cpp

评论

共有 条评论

相关资源