C++;客户端向Java服务器发送奇怪的数据 我制作了java服务器和C++客户端(TCP连接) 在服务器上,我做了一个简单的登录,检查两个变量是否相同。 当C++客户机将数据发送到服务器时,它会接收到一些奇怪的数据,这些数据有很多空间和自

C++;客户端向Java服务器发送奇怪的数据 我制作了java服务器和C++客户端(TCP连接) 在服务器上,我做了一个简单的登录,检查两个变量是否相同。 当C++客户机将数据发送到服务器时,它会接收到一些奇怪的数据,这些数据有很多空间和自,java,c++,sockets,Java,C++,Sockets,C++;客户端向Java服务器发送奇怪的数据 我制作了java服务器和C++客户端(TCP连接) 在服务器上,我做了一个简单的登录,检查两个变量是否相同。 当C++客户机将数据发送到服务器时,它会接收到一些奇怪的数据,这些数据有很多空间和自定义字符,如: C++客户端发送数据如下: (忽略一些变量,比如server_socket,因为我没有将其添加到代码中来稍微调整它) sizeof(buffer)=1024,与实际文本的长度无关。因此,您正在发送消息中的字符,加上内存中紧随其

C++;客户端向Java服务器发送奇怪的数据

我制作了java服务器和C++客户端(TCP连接) 在服务器上,我做了一个简单的登录,检查两个变量是否相同。 当C++客户机将数据发送到服务器时,它会接收到一些奇怪的数据,这些数据有很多空间和自定义字符,如:

C++客户端发送数据如下: (忽略一些变量,比如server_socket,因为我没有将其添加到代码中来稍微调整它)


sizeof(buffer)=1024
,与实际文本的长度无关。因此,您正在发送
消息中的字符,加上内存中紧随其后的随机垃圾,总共1024字节。哦,是的!忘了吧!修复了它,非常感谢:)考虑放弃
buffer
并将用户输入直接读取到
消息中。是的,正是这样做的。
sizeof(buffer)==1024
,而不考虑实际文本的长度。因此,您正在发送
消息中的字符,加上内存中紧随其后的随机垃圾,总共1024字节。哦,是的!忘了吧!修复了它,非常感谢:)考虑放弃
缓冲区
并将用户输入直接读取到
消息中。是的,就是这样做的。
char buffer[1024];

        cin >> buffer;
        string message = buffer;
        message.append("\n");

        if (send(server_socket, message.c_str(), sizeof(buffer), 0) == SOCKET_ERROR) {
            cout << "Error CS#001" << endl;
            return -1;
        }
            clientMessage = s.getInputStream();
            BufferedReader reader = new BufferedReader(new 
            InputStreamReader(clientMessage));
            reader.ready();
            String message = reader.readLine();