gpt4 book ai didi

C++ win客户端发送linux服务器变量

转载 作者:太空宇宙 更新时间:2023-11-04 14:12:28 25 4
gpt4 key购买 nike

我是 C++ 编程的新手。我正在尝试编写一个与 linux 服务器通信的 windows 客户端。我已经成功完成了那部分。

现在我不知道该怎么做才能继续下去。这是我需要做的(但不知道怎么做)。

现在我的客户要求 3 个东西。示例

 declared client variables 1,2,3 as string...

Enter Anything: dgasggfds
//dgasggfds is now stored to cvariable1
Enter Anything again: zxcasd
//zxcasd is now stored to cvariable2
Enter Anything again again: qwert
//qwer is now stored to cvariable3

现在客户端应该将每个变量发送到服务器。服务器随后也将使用这些变量并执行其代码。

现在在服务器上

 cvariable1 is now svariable1 on the server.
cvariable2 is now svariable2 on the server.
cvariable3 is now svariable3 on the server.

一旦所有变量都存在,它将执行一段代码。

请指教。谢谢。

--编辑--

我尝试使用 send() recv() 它有效,但我只能发送 1 个变量。而且我不知道如何将 recv 数据设置为服务器上的变量。

--编辑--

我有点明白如何将 recv 数据保存到变量中。但是仍然不知道如何处理多个数据。

此外,这 3 个变量必须始终在一起。他们不能分开。服务器代码需要这 3 个变量/数据才能正确执行命令。

--编辑--

这有什么意义吗?

string* packet = new string[3];
packet[0] = 'var1';
packet[1] = 'var2';
packet[2] = 'var3';

//send request
if (send(sock, packet.c_str(), packet.length(), 0) != request.length())
die_with_wserror("send() sent a different number of bytes than expected");

虽然它给了我一些错误。 packet:expression 必须有类类型。

我现在想做的是把它放在一个数组中发送,然后在服务器上分解一次数组,这个逻辑可以吗?

最佳答案

在客户端连接三个变量,使用特殊字符将它们分开,例如

string sending = variable1 + "_" + variable2 + "_" + variable3;

并发送发送

在服务器端

ssize_t bytes_recieved;
char incoming_data_buffer[1000];
bytes_recieved = recv(socketfd, incoming_data_buffer,1000, 0);

您的数据将保存在 incoming_data_buffer 中。现在使用“_”拆分 incoming_data_buffer,您将拥有 3 个变量。

关于C++ win客户端发送linux服务器变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13541500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com