Symbian에서 일부 소켓 물건을 다루고 있습니다. 지금까지 잘 작동합니다. 그러나 전송 된 데이터를 읽으려고 할 때 이상한 문제에 직면하고 있습니다. 다음과 같이 코드가 보이는 가정 : 나는 정확히 145 바이트를받은하지만 두 경우 모두에서ReceiveOneOrMore가 Symbian에서 잘못된 길이를 반환합니다.
TSockXfrLength len;
iSocket.RecvOneOrMore(buff, 0, iStatus, len);
User::WaitForRequest(iStatus);
if (iStatus == KErrNone)
{
printf(_L("Bytes received 1st try %4d..."), len);
printf(_L("Bytes Length received 2nd try %4d..."), &len);
}
출력은 7450과 함께 무언가이다. 네트워크 분석기로 확인할 수 있습니다. 누구나 내가 뭘 잘못하고 있는지 알고있다. 받은 올바른 바이트를받지 못 했습니까?
편집 :
나는 다음과 같은 방법으로 소켓에 연결하고 : TInetAddr serverAddr;
TUint iPort = 445; 도움이
TRequestStatus iStatus;
TSockXfrLength len;
TInt res = iSocketSrv.Connect();
res = iSocket.Open(iSocketSrv,KAfInet,KSockStream, KProtocolInetTcp);
serverAddr.SetPort(iPort);
serverAddr.SetAddress(INET_ADDR(192,100,81,54));
iSocket.Connect(serverAddr,iStatus);
User::WaitForRequest(iStatus);
희망)
감사
어떻게 소켓을 연결하고 있습니까? – laalto
요청에 따라 소켓에 연결하기위한 코드를 추가했습니다. –