通过Tcp套接字发送文件大小

Sending file size over Tcp socket

本文关键字:文件大小 套接字 Tcp 通过      更新时间:2023-10-16

你好,我正在使用Ms visual studio 2015。问题是当我发送文件大小到服务器套接字。N保存文件大小的int值。代码有什么问题?代码是:

    int size = htonl(n);
    send(sock, &size, sizeof(size),0);

,得到的错误是:"int *"类型的实参与
类型的形参不兼容

如果您看到例如这个send引用,您将看到它为数据接受const char *参数。当你使用&size时,你创建了一个指向int的指针,即int *。这两种类型之间不能隐式转换。

需要将指针强制转换为正确的类型:

send(sock, reinterpret_cast<char*>(&size), sizeof(size),0);