Mijn probleem:
Ik probeer in VB.NET een FTP client te schrijven. Dit is voor een groot gedeelte gelukt ik kan connecten met de ftp server en kan inloggen daarop met user en pass.
Maar nu het probleem ik kan de dirlist niet opvragen, ik krijg altijd hetzelfde terug en dat is :
En alleen dat stukje maar terwijl als ik hem in mijn interne netwerk test door een ftp server te draaien op een pc en er dan op connect krijg ik de perfecte dirlisting terug.
Alleen als ik het internet op ga werkt hij niet.
Misschien is het belangrijk dat op de pc van het interne netwerk win2003server draaide, ik weet niet of dat iets uitmaakt.
Hieronder klein stukje code dat de dirlist opvraagt.
In bovenstaande stukje verwijst hij naar cmdpasv2port deze haalt een passive poort op dit werkt goed in het stukje otherportget gaat het denk ik mis buiten mijn netwerk dan.
onderstaand stukje gaat over otherportget
Is iemand bekend met dit probleem? Het moet kunnen lijkt me maar hoe
Ik probeer in VB.NET een FTP client te schrijven. Dit is voor een groot gedeelte gelukt ik kan connecten met de ftp server en kan inloggen daarop met user en pass.
Maar nu het probleem ik kan de dirlist niet opvragen, ik krijg altijd hetzelfde terug en dat is :
code:
1
| drw-rw-rw- 1 user group 0 Oct 8 19:59 |
En alleen dat stukje maar terwijl als ik hem in mijn interne netwerk test door een ftp server te draaien op een pc en er dan op connect krijg ik de perfecte dirlisting terug.
Alleen als ik het internet op ga werkt hij niet.
Misschien is het belangrijk dat op de pc van het interne netwerk win2003server draaide, ik weet niet of dat iets uitmaakt.
Hieronder klein stukje code dat de dirlist opvraagt.
code:
1
2
3
4
5
| intPort = cmdPasv2Port()
priBytes = Encoding.ASCII.GetBytes("LIST -al" & vbCrLf)
priNetStream.Write(priBytes, 0, priBytes.Length)
priSM = OtherPortGet(intport)
DirList = Encoding.ASCII.GetString(priSM.ToArray, 0, priSM.Length) |
In bovenstaande stukje verwijst hij naar cmdpasv2port deze haalt een passive poort op dit werkt goed in het stukje otherportget gaat het denk ik mis buiten mijn netwerk dan.
onderstaand stukje gaat over otherportget
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| Private Function OtherPortGet(ByVal intDataPort As Int32, Optional ByVal BytesWillRec As Int64 = 0) As MemoryStream
Dim strTemp As String
Dim i As Int64
Dim priSM As New MemoryStream
If BytesWillRec >= 0 Then
Try
ReDim priBytes(priTcpData.ReceiveBufferSize)
intBytesRec = priDataStream.Read(priBytes, 0, CInt (priTcpData.ReceiveBufferSize))
priSM.Write(priBytes, 0, intBytesRec)
i = intBytesRec
If BytesWillRec = 0 Then
Do While priDataStream.DataAvailable
ReDim priBytes(priTcpData.ReceiveBufferSize)
intBytesRec = priDataStream.Read(priBytes, 0, CInt(priTcpData.ReceiveBufferSize))
priSM.Write(priBytes, 0, intBytesRec)
i = i + intBytesRec
Beep()
Application.DoEvents()
Loop
Else
Do While i < BytesWillRec
ReDim priBytes(priTcpData.ReceiveBufferSize)
intBytesRec = priDataStream.Read(priBytes, 0, CInt(priTcpData.ReceiveBufferSize))
priSM.Write(priBytes, 0, intBytesRec)
i = i + intBytesRec
Loop
End If
OtherPortGet = priSM
priTcpData.Close()
Catch err As Exception
MsgBox(err.ToString())
End Try
Else
MsgBox("¤£±µ¨üt¼Æ°Ñ¼Æ¡I")
End If
End Function |
Is iemand bekend met dit probleem? Het moet kunnen lijkt me maar hoe
[ Voor 5% gewijzigd door Verwijderd op 13-10-2003 12:39 ]