récupération bytes par réseau
Publié : ven. 03/févr./2017 14:06
Bonjour,
je sais maintenant comment lire un fichier, placer les données dans un bloc mémoire pour après , soit appliquer un chiffrement dessus, soit réécrire dans un fichier...
j'essaie de faire une opération similaire mais par le réseau, j'ai un serveur en écoute sur un port tcp , depuis un poste Windows, je lance une connexion sur l'ip / port
le serveur m'envoie alors des données (une .dll) je ne connais pas sa taille, le but est que je la récupère dans un buffer mémoire...
j'ai bien des données qui arrivent, affichées dans mon gadget_edit mais je ne sais pas s'il y a tout le fichier ...
étant donné que la réception des données est dans la boucle repeat / until , vaudrait-il mieux que je passe par un while /wend ?
je sais maintenant comment lire un fichier, placer les données dans un bloc mémoire pour après , soit appliquer un chiffrement dessus, soit réécrire dans un fichier...
j'essaie de faire une opération similaire mais par le réseau, j'ai un serveur en écoute sur un port tcp , depuis un poste Windows, je lance une connexion sur l'ip / port
le serveur m'envoie alors des données (une .dll) je ne connais pas sa taille, le but est que je la récupère dans un buffer mémoire...
Code : Tout sélectionner
Enumeration
#FEN1
#FEN1_Edit
EndEnumeration
size.l = 1000000
InitNetwork()
remoteip.s ="10.48.54.186"
port.i = 4444
*Buffer = AllocateMemory(size.l)
OpenWindow(#FEN1, 320, 200, 1200, 650,
" Stager ",
#PB_Window_SystemMenu |
#PB_Window_ScreenCentered)
EditorGadget(#FEN1_Edit, 650, 150, 500, 450)
konnektID= OpenNetworkConnection(remoteip,port)
Repeat
event =WindowEvent()
Eclient = NetworkClientEvent(konnektid)
Select Eclient
Case #PB_NetworkEvent_Data
result= ReceiveNetworkData(konnektid, *Buffer ,size)
AddGadgetItem(#FEN1_Edit,0 ,PeekS(*Buffer,#PB_Unicode))
EndSelect
Until GetAsyncKeyState_(#VK_ESCAPE)
étant donné que la réception des données est dans la boucle repeat / until , vaudrait-il mieux que je passe par un while /wend ?