Я пытаюсь отправить данные датчика (двойного типа) с клиента на сервер через TCP / IP (Winsock).Теоретически, после успешного подключения мы выполним команду send ().
Я использую 2 переменные: stringstream ss и string res для хранения данных датчика и преобразования двойного типа в тип char.Но когда я отправлял данные, на сервере показывалось: Дата Время Текущее напряжение Давление воздуха 000000000000000000000000000000000000000… Все данные равны 0.
Я пробовал другие методы, но сервер получал только пустые или неправильные значения.Пожалуйста, предложите мне, как решить эту проблему.Вот мой код:
char Data_Send[10000];
char item[] = " Date\t" "Time\t" "Current\t" "Voltage\t" "Air-Pressure\t";
string res;
stringstream ss;
strcpy(Data_Send, item);
for (int32 i = 0; i < returnedCount; i = i + channelCount)
{
ss << userDataBuffer[i]; // Sensor data
ss >> res;
strcat(Data_Send, (char*)&res);
}
if (connect(socketClient, (sockaddr*)&clientAddr, sizeof(clientAddr)) == 0)
{
cout << "\nConnection success..!";
cout << "\nConnect with Server's IP: " << inet_ntoa(clientAddr.sin_addr);
cout << "\nStart communicating";
cin.getline(Data_Send, 5120);
send(socketClient, (char*)&Data_Send, sizeof(Data_Send), 0);
}