同时接受套接字连接

时间:2011-02-09 17:32:03

标签: c++

unsigned __int8 Decrypt(unsigned __int8 data[]);

for(;;)
    {
        if((sConnect=accept(sListen,(SOCKADDR*)&addr,&addrlen)) != INVALID_SOCKET)
        {
            Print("Socket Connected Successfully!");
            char buf[4095];
            recv(sListen,buf,sizeof(buf),0);
            Decrypt(buf); // Error:IntelliSense: argument of type "char *" is incompatible with parameter of type "unsigned char *"

        }

我该如何解决这个问题:-s

3 个答案:

答案 0 :(得分:3)

为什么不使用此签名:

unsigned char Decrypt(char *data);

而不是

unsigned __int8 Decrypt(unsigned __int8 data[]);

如果您这样做,可以轻松地将buf传递给它,因为即使buf被声明为char buf[4095],它也会自动成为指针类型 当你把它传递给Decrypt时。不需要施放!

答案 1 :(得分:2)

调用Decrypt时将buf强制转换为无符号__int8。

Decrypt((unsigned __int8*)buf);

答案 2 :(得分:0)

将其转换为正确的类型.....................................