我目前正在尝试将我的客户端与 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 进行 atm 测试):
recv(ConnectSocket, recvbuf, recvbuflen, 0);
printf("Bytes received: %d, %s\n", sizeof(recvbuf), recvbuf);