#include #include #include #include #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() { WSAData wsaData; WORD DLLVersion = MAKEWORD(2, 1); if (WSAStartup(DLLVersion, &wsaData) != 0) { std::cout << "Error startup\n"; exit(1); } SOCKADDR_IN addr; int sizeofaddr = sizeof(addr); inet_pton(AF_INET, "127.0.0.1", &addr.sin_addr); 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: failed connect to server \n"; 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"); }