Je fais des trucs de socket sur Symbian, ce qui fonctionne très bien jusqu'ici. Cependant, Je suis confronté à un problème étrange en essayant de lire les données qui ont été envoyées. On suppose le code se présente comme suit:ReceiveOneOrMore retourne une longueur incorrecte dans 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);
}
Sortie dans les deux cas est quelque chose avec 7450, bien que j'ai reçu exactement 145 octets. Je peux vérifier cela avec un analyseur de réseau. Quelqu'un sait ce que je fais mal ici que je ne reçois pas les octets appropriés qui ont été reçus?
EDIT:
Je connecte à la prise de la manière suivante: 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);
espoir qui aide;)
Merci
Comment connectez-vous votre socket? – laalto
Comme demandé, j'ai ajouté le code pour la connexion à la prise –