posts - 3,comments - 2,trackbacks - 0
当使用tcp连接建立socket时,payload长度超过1500字节,recv可能仅能接收1450字节,这时需要判断接收长度与期望长度是否一致,不一致需要继续调用recv接收。
 1length = recv(sockfd, (char *)buffer, 6000 * sizeof(char), 0);
 2
 3        if(length < 0 || length == 0)
 4        {
 5                perror("recv data failed!\n");
 6                goto errorhandle;
 7        }
;
 8
 9    
10    printf("length = %d\n", length);
11
12    if(length < MAXNODENUM * MAXNODENUM * sizeof(uint32_t) + sizeof(CSMessage))
13    {
14        length = recv(sockfd, buffer + length, (6000 - length) * sizeof(char), 0);
15        if(length < 0 || length == 0)
16        {
17            perror("recv data failed!\n");
18            goto errorhandle;
19        }
;
20    }



返回AS号标记流量矩阵的行和列。
 1int getASNum(int index)
 2{
 3    int asnum = 0;
 4    switch(index)
 5    {
 6        case 1:
 7            asnum = 24348;
 8            break;
 9        case 2:
10            asnum = 24358;
11            break;
12        case 3:
13            asnum = 24357;
14            break;
15        case 4:
16            asnum = 24361;
17            break;
18        case 5:
19            asnum = 24364;
20            break;
21        case 6:
22            asnum = 24360;
23            break;
24        case 7:
25            asnum = 24352;
26            break;
27        case 8:
28            asnum = 24363;
29            break;
30        case 9:
31            asnum = 24369;
32            break;
33        case 10:
34            asnum = 24370;
35            break;
36        case 11:
37            asnum = 24371;
38            break;
39        case 12:
40            asnum = 24372;
41            break;
42        case 13:
43            asnum = 24349;
44            break;
45        case 14:
46             asnum = 24350;
47            break;
48        case 15:
49            asnum = 24351;
50            break;
51        case 16:
52            asnum = 24353;
53            break;
54        case 17:
55            asnum = 24355;
56            break;
57        case 18:
58            asnum = 24356;
59            break;
60        case 19:
61            asnum = 24354;
62            break;
63        case 20:
64            asnum = 24362;
65            break;
66        case 21:
67            asnum = 24367;
68            break;
69        case 22:
70            asnum = 24368;
71            break;
72        case 23:
73            asnum = 24359;
74            break;
75        case 24:
76            asnum = 24365;
77            break;
78        case 25:
79            asnum = 24366;
80            break;
81        default:
82            break;
83    }

84    return asnum;    
85}
posted on 2010-12-08 20:05 五花马千金裘 阅读(2623) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理