Io posso essere gentile nel continuare a rispondere ma tu devi essere un momentino piu' "rispettoso" della comunita' e di chi contribuisce gratuitamente a tenerla ordinata ed efficiente affinche' anche tu possa usufruirne e risolvere i tuoi problemi ... ok ...?

Detto questo, mod e' un operatore binario (inteso "che opera con due operandi", come la divisione ...).

Il modulo (mod) e' il resto della divisione. Mentre la parte intera dell'operazione

10/3

e' 3 (10 diviso 3), il modulo

10 mod 3

e' 1 perche' il resto di tale divisione e' 1 (10 diviso 3 uguale 3 con resto 1).

Per il codice

codice:
n=int(lunghezza/4000)
for i=1 to n 
  ' leggi dal file nel buffer
  ' invia con winsock il buffer
next i
m=lunghezza mod 4000
if m>0 then
  redim s(lunghezza(mod 4000))
  winsock1.send s
end if
devi controllare che il modulo sia maggiore di 0 (perche' puo' capitare che la lunghezza sia multipla di 4000 e non esiste un ultimo pezzo da inviare ...)

P.S. Dormo quanto basta ...