Разделение кода на функции

Нужно, чтобы создать класс клиента
This commit is contained in:
Dizel 2025-04-03 11:45:18 +03:00
parent 7248be8217
commit 34d53ad7f1

View File

@ -17,29 +17,57 @@ struct DataOut
float MotorUL, MotorUR, MotorDL, MotorDR; float MotorUL, MotorUR, MotorDL, MotorDR;
} dataOut; } dataOut;
int main() SOCKET ConnectToServer(const char* ip, int port)
{ {
WSAData wsaData; WSAData wsaData;
WORD DLLVersion = MAKEWORD(2, 1); WORD DLLVersion = MAKEWORD(2, 1);
if (WSAStartup(DLLVersion, &wsaData) != 0) if (WSAStartup(DLLVersion, &wsaData) != 0)
{ {
std::cout << "Error startup\n"; std::cout << "Error: WSAStartup failed\n";
exit(1); return INVALID_SOCKET;
} }
SOCKADDR_IN addr; SOCKADDR_IN addr;
int sizeofaddr = sizeof(addr); inet_pton(AF_INET, ip, &addr.sin_addr);
addr.sin_port = htons(port);
inet_pton(AF_INET, "127.0.0.1", &addr.sin_addr);
addr.sin_port = htons(1001);
addr.sin_family = AF_INET; addr.sin_family = AF_INET;
SOCKET Connection = socket(AF_INET, SOCK_STREAM, NULL); SOCKET Connection = socket(AF_INET, SOCK_STREAM, 0);
if (Connection == INVALID_SOCKET)
{
std::cout << "Error: Failed to create socket\n";
WSACleanup();
return INVALID_SOCKET;
}
if (connect(Connection, (SOCKADDR*)&addr, sizeof(addr)) != 0) if (connect(Connection, (SOCKADDR*)&addr, sizeof(addr)) != 0)
{ {
std::cout << "Error: failed connect to server \n"; std::cout << "Error: Failed to connect to server\n";
return 1; closesocket(Connection);
WSACleanup();
return INVALID_SOCKET;
}
return Connection;
}
void CloseConnection(SOCKET& socket)
{
if (socket != INVALID_SOCKET)
{
closesocket(socket);
WSACleanup();
socket = INVALID_SOCKET; // Обнуляем сокет, чтобы избежать повторного использования
}
}
int main()
{
SOCKET Connection = ConnectToServer("127.0.0.1", 1001);
if (Connection == INVALID_SOCKET)
{
return 1; // Выход, если подключение не удалось
} }
dataOut.MotorUL = 10; dataOut.MotorUL = 10;
@ -47,7 +75,7 @@ int main()
dataOut.MotorDL = 10; dataOut.MotorDL = 10;
dataOut.MotorDR = 10; dataOut.MotorDR = 10;
while (1) for (int i = 0; i < 1000000; i++)
{ {
send(Connection, (char*)&(dataOut), sizeof(dataOut), 0); send(Connection, (char*)&(dataOut), sizeof(dataOut), 0);
recv(Connection, (char*)&(dataIn), sizeof(dataIn), 0); recv(Connection, (char*)&(dataIn), sizeof(dataIn), 0);
@ -59,6 +87,7 @@ int main()
//std::this_thread::sleep_for(std::chrono::seconds(1)); //std::this_thread::sleep_for(std::chrono::seconds(1));
} }
CloseConnection(Connection);
system("pause"); system("pause");
} }