Написан код клиента c++
Подключение, отправка и получение данных
This commit is contained in:
@ -1,9 +1,22 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <WinSock2.h>
|
#include <WinSock2.h>
|
||||||
#include <WS2tcpip.h>
|
#include <WS2tcpip.h>
|
||||||
|
#include <thread>
|
||||||
|
|
||||||
#pragma comment(lib, "Ws2_32.lib")
|
#pragma comment(lib, "Ws2_32.lib")
|
||||||
|
|
||||||
|
struct DataIn
|
||||||
|
{
|
||||||
|
float AccX, AccY, AccZ;
|
||||||
|
float GyrX, GyrY, GyrZ;
|
||||||
|
float PosX, PosY, LaserRange;
|
||||||
|
} dataIn;
|
||||||
|
|
||||||
|
struct DataOut
|
||||||
|
{
|
||||||
|
float MotorUL, MotorUR, MotorDL, MotorDR;
|
||||||
|
} dataOut;
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
WSAData wsaData;
|
WSAData wsaData;
|
||||||
@ -16,16 +29,36 @@ int main()
|
|||||||
}
|
}
|
||||||
|
|
||||||
SOCKADDR_IN addr;
|
SOCKADDR_IN addr;
|
||||||
addr.sin_family = AF_INET;
|
int sizeofaddr = sizeof(addr);
|
||||||
addr.sin_port = htons(1001);
|
|
||||||
|
|
||||||
// Use inet_pton instead of inet_addr
|
inet_pton(AF_INET, "127.0.0.1", &addr.sin_addr);
|
||||||
if (inet_pton(AF_INET, "127.0.0.1", &addr.sin_addr) <= 0)
|
addr.sin_port = htons(1001);
|
||||||
|
addr.sin_family = AF_INET;
|
||||||
|
|
||||||
|
SOCKET Connection = socket(AF_INET, SOCK_STREAM, NULL);
|
||||||
|
if (connect(Connection, (SOCKADDR*)&addr, sizeof(addr)) != 0)
|
||||||
{
|
{
|
||||||
std::cout << "Error converting IP address\n";
|
std::cout << "Error: failed connect to server \n";
|
||||||
exit(1);
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dataOut.MotorUL = 10;
|
||||||
|
dataOut.MotorUR = 10;
|
||||||
|
dataOut.MotorDL = 10;
|
||||||
|
dataOut.MotorDR = 10;
|
||||||
|
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
send(Connection, (char*)&(dataOut), sizeof(dataOut), 0);
|
||||||
|
recv(Connection, (char*)&(dataIn), sizeof(dataIn), 0);
|
||||||
|
//std::cout << dataIn.GyrX << " " << dataIn.GyrY << " " << dataIn.GyrZ << std::endl;
|
||||||
|
//std::cout << dataIn.PosX << " " << dataIn.PosY << " " << dataIn.LaserRange << std::endl;
|
||||||
|
//std::cout << dataIn.AccX << " " << dataIn.AccY << " " << dataIn.AccZ << std::endl;
|
||||||
|
std::cout << dataIn.LaserRange << std::endl;
|
||||||
|
std::cout << "-----------------------------------------------------------" << std::endl;
|
||||||
|
//std::this_thread::sleep_for(std::chrono::seconds(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
system("pause");
|
system("pause");
|
||||||
std::cout << "Hello World!\n";
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user