CSocketFile::CSocketFile
Construit un objet CSocketFile.
explicit CSocketFile(
CSocket* pSocket,
BOOL bArchiveCompatible = TRUE
);
Paramètres
pSocket
Le socket pour attacher à CSocketFile l'objet.bArchiveCompatible
Spécifie si le fichier objet sert à un objet d' CArchive . Passez FALSE uniquement si vous souhaitez utiliser l'objet d' CSocketFile de façon autonome comme pour un objet autonome d' CFile , avec certaines limitations. Cette balise modifie la façon dont l'objet d' CArchive attaché à l'objet d' CSocketFile gère la mémoire tampon pour lire.
Notes
Le destructeur de l'objet se dissocie de l'objet socket lorsque l'objet est hors de portée ou est supprimé.
Notes
CSocketFile peut également être utilisé en tant que fichier (sandbox) d'un sans objet d' CArchive .Par défaut, le paramètre d' bArchiveCompatible du constructeur d' CSocketFile est TRUE.Cela spécifie que le fichier objet sert à une archive.Pour utiliser le fichier objet sans archive, exécutez FALSE dans le paramètre d' bArchiveCompatible .
Dans son mode compatible « archive », un objet d' CSocketFile offre de meilleures performances et réduit le risque d'interblocage un « . » Un interblocage se produit lorsque l'émission et sockets de recevoir attendent l'autre, ou pour une ressource commune. Cette situation peut se produire si l'objet d' CArchive exécutés avec CSocketFile la façon dont elle fait avec un objet d' CFile . Avec CFile, l'archive pouvez supposer que s'il reçoit moins octets qu'elle a demandé, le de fin de fichier a été atteinte.
Avec CSocketFile, toutefois, les données sont message basé ; la mémoire tampon peut contenir plusieurs messages, donc recevoir moins de le nombre d'octets demandés n'implique pas de fin de fichier. L'application ne bloque pas dans ce cas comme elle peut avec CFile, et elle peut continuer de lire les messages de la mémoire tampon jusqu'à ce que la mémoire tampon est vide. La fonction de CArchive::IsBufferEmpty est utile pour surveiller l'état de la mémoire tampon de l'archive dans ce cas.
Pour plus d'informations sur l'utilisation d' CSocketFile, consultez les articles Windows Sockets : Utilisation des sockets avec des archives et Windows Sockets : Exemple de sockets utilisation des archives.
Configuration requise
Header: afxsock.h