В настоящее время я пытаюсь использовать своего клиента с библиотекой Chilkat, поскольку клиент должен быть написан на Visual C ++, а не на Borland C ++ (C ++ Builder). Подключение действительно работает, но как только я пытаюсь отправить строку с клиента на сервер, она даже не попадает в функцию IdTCPServerExecute
. Возможно ли вообще использовать для Клиента другую библиотеку, чем сервер? Если да, то как?
Изменить: у меня получилось, что клиент успешно отправляет строку на сервер. Теперь я обрабатываю сообщение клиента следующим образом:
UnicodeString Message = AContext->Connection->Socket->AllData();
Вместо:
UnicodeString Message = AContext->Connection->Socket->ReadLn();
Есть ли аналогичный вариант для отправки строки ответа с сервера?
if (IdHTTP->Get
("http://*/index.php?option=com_bookpro&controller=customer&task=bpajaxlogin&username=" +
slTokens->Strings[1] + "&password=" + slTokens->Strings[2] +
"&product_id=" + Class) == "true") {
AddLog("1");
char* Response = "Test";
AContext->Connection->Socket->Write(Response);
AddLog("2");
}
else {
AContext->Connection->Socket->WriteLn
("Authentication failed");
}
Тоже доходит только до AddLog("1");
и не отображает AddLog("2");
.
Клиентский код (с использованием Winsocks для тестирования банкомата):
recv(ConnectSocket, recvbuf, recvbuflen, 0);
printf("Bytes received: %d, %s\n", sizeof(recvbuf), recvbuf);