Разделение кода на функции
Нужно, чтобы создать класс клиента
This commit is contained in:
parent
7248be8217
commit
34d53ad7f1
@ -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");
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user