c++ - 发送数据问题 TCP/IP

标签 c++ tcp

//------------------------------
    //creating dynamic array to send
    std::list<char> list;
    char in=NULL;
    while(1)
    {
        scanf("%c",&in);
        if(in=='\n') break;
        list.push_back(in);
    }
    //char *sendbuf=NULL;
    char* sendbuf=new char[list.size()]; // create a dynamic array   

        std::copy(list.begin(),list.end(),sendbuf); // copy the data 
        //sendbuf=array;
        iResult_send = send( ConnectSocket, sendbuf, (int)strlen(sendbuf), 0 );
        delete [] sendbuf; // destroy the dynamic array
        list.clear();
}
//-------------------------------------------

大家好, 我正在尝试通过我正在创建的动态数组向客户端发送数据。 当我用静态数组 char 类型发送数据时,客户端得到了它。但是当我像那样发送时,他在消息后收到了很多垃圾。 我正在窃听的阵列有什么问题吗?

最佳答案

iResult_send = send( ConnectSocket, sendbuf, (int)strlen(sendbuf), 0 );

消息大小确定错误。尝试使用 list.size() 来对抗它。

关于c++ - 发送数据问题 TCP/IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10725184/

相关文章:

c++ - #include <文件名> 和 #include "filename"有什么区别?

c++ - 如何在opencv c++中对图像进行骨架化

python : Clear the buffer in Twisted Transport write

sockets - 保留 TCP 连接的开销

tcp - 为什么 UDP 在有损网络中表现优于 TCP

c++ - void abort() 的声明抛出不同的异常

C++:关于释放内存的问题

java - 多个数据输入/输出流混淆

python - 使用 TCP 套接字传输图像时丢失一像素行

c++ - 在派生类中调用模板基类的cast操作符