有一个关于用C语言编写流量控制的问题,请大神帮忙~ 20C

#include

#include

int main()

{

char str[31],temp[31]; //定义IP地址为32位的字符类型
int a,b,c,d; //定义IP地址的四个字节为a,b,c,d,并且均为整型的
printf("请输入IP地址");
while(gets(str) != NULL);

{

if(scanf(str,"%d.%d.%d.%d",&a,&b,&c,&d)==4

&& a>=0 && a<=255

&& b>=0 && b<=255

&& c>=0 && c<=255

&& d>=0 && d<=255) //IP地址每个字节的范围限制
{

printf(temp,"%d.%d.%d.%d",a,b,c,d);

if(strcmp(temp,str)==0)

{

printf("IP地址合法\n");

}

else

{

printf("IP地址不合法\n");

}

}

else

{

printf("IP地址不合法\n");

}

}

return 0;

}
在上面的基础上,我想加入一个流量控制的功能,请问怎么编写,请告知,谢谢!

7个回答

流量控制指什么,能说清楚些吗

qq_34556554
qq_34556554 就是接入主机服务器,如果大于多少多少M就断开
4 年多之前 回复

你获取的东西都转化成2进制了么,还是直接用字符串接受的

 #include "stdlib.h"
#include "iostream"
#include "stdio.h"
#define MAXMB 2
//最大字节数
const int iMaxSize = MAXMB * 1024 * 1024;
char vData[iMaxSize + 1];

int main()
{

    memset(vData, '\0', iMaxSize);
    //1.字符串接受
    while (true)
    {
        if (strlen(vData) >= iMaxSize)
            break;
    }
    return 0;
}
 #include "stdlib.h"
#include "iostream"
#include "stdio.h"
#include "vector"
#define MAXMB 2
typedef unsigned char uint8;
int main()
{
    //2.二进制,用unsigned char
    std::vector<uint8> vData;
    int iMaxSize = MAXMB * 1024 * 1024;
    while (true)
    {
        if (vData.size() >= iMaxSize)
            break;
    }
    return 0;
}

例如:

while (true)
{
if (strlen(vData) >= iMaxSize)
break;
}

你是想问根据IP来控制流量,还是这个IP的字符串累计的长度控制?还有就是,如果IP(ipv4)真要转换为字符串,用点号隔开,最多也就15个字符吧,转换为字节也不错的呢。控制链接数的话,每一个正确的IP都加1啊,断开的就减1,然后,就有链接数了

需要调用底层TCP/IP,获得数据,由定时器限速

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐