temp2

来源:互联网 发布:苹果mac mini键盘设置 编辑:程序博客网 时间:2024/06/06 04:02


int send_telnet_ica_to_client(int sockfd, unsigned char * pbuf, int len)
{
    char tempbuf[20480];

    int fffa_flag = 0;
    int i, ret, tempbuf_len = 0;
    for(i = 0; i < len; i ++)
    {
        if (pbuf[i] == 0xff)
        {
            i ++;

            if (pbuf[i] == 0xfa)
            {
                fffa_flag = 1;
            }
            else if(pbuf[i] == 0xfb)
            {
                fffa_flag = 0;
                i++;
            }
            else if(pbuf[i] == 0xfd)
            {
                fffa_flag = 0;
                i++;
            }
            else if(pbuf[i] == 0xfe)
            {
                fffa_flag = 0;
                i++;
            }
            else if(pbuf[i] == 0xf0)
            {
                fffa_flag = 0;
                ret = send(sockfd, tempbuf, tempbuf_len, 0);
                if(ret < 0)
                {
                    return -1;
                }
                tempbuf_len = 0;
            }
            else
            {
                ret = send(sockfd, &pbuf[i-1], 3, 0);
                if(ret < 0)
                {
                    return -1;
                }
                i ++;
            }
        }
        else if (fffa_flag)
        {
            tempbuf[tempbuf_len] = pbuf[i];
            tempbuf_len ++;
        }

    }

    return 1;
}


原创粉丝点击