Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
-
Leo
- Beiträge: 420
- Registriert: 26.10.2004 18:26
Beitrag
von Leo »
Ich hab mal so ungefähr das Beispiel von der msdn nachgebastelt:
Code: Alles auswählen
wsaData.WSADATA
Service.sockaddr_in
Socket.l
AcceptSocket.l
ClientAdress$ = Space(256)
WSAStartup_(2&2,@wsaData)
Socket = socket_(#AF_INET,#SOCK_STREAM,#IPPROTO_TCP)
Service\sin_family = #AF_INET
Service\sin_addr = inet_addr_("127.0.0.1")
Service\sin_port = htons_(21)
bind_(Socket,@Service,SizeOf(service))
listen_(Socket,1)
Repeat
AcceptSocket = #SOCKET_ERROR
While AcceptSocket = #SOCKET_ERROR
AcceptSocket = accept_(Socket,@ClientAdress$,256)
Wend
PrintN("Client Connected.")
Socket = AcceptSocket
Break
Until GetAsyncKeyState_(#VK_ESCAPE)
End
Eigentlich müsst ich doch jetzt mit meinem FTP Clienten auf Port 21 connecten können oder? Geht aber nich

-
real
- Beiträge: 468
- Registriert: 05.10.2004 14:43
Beitrag
von real »
Ooops... Hab meinen Post überarbeiten müssen: Du willst einen FTP-Server mittels Winsock basteln?!
Wieso schreibst Du, dass es nicht funktioniert? Bei mir kann ich mich per FTP connecten... Mehr passiert natürlich bei Deinem Beispiel nicht.
-
real
- Beiträge: 468
- Registriert: 05.10.2004 14:43
Beitrag
von real »
Versuch mal:
Code: Alles auswählen
wsaData.WSADATA
Service.sockaddr_in
ClientRequest.sockaddr_in
Socket.l
AccSocket.l
WSAStartup_(2&2,@wsaData)
Socket = socket_(#AF_INET,#SOCK_STREAM,#IPPROTO_TCP)
Service\sin_family = #AF_INET
Service\sin_addr = inet_addr_("127.0.0.1")
Service\sin_port = htons_(21)
bind_(Socket, @Service, SizeOf(Service))
listen_(Socket,1)
Repeat
sClientRequest=SizeOf(ClientRequest)
AccSocket = accept_(Socket, @ClientRequest, @sClientRequest)
Until AccSocket <> #INVALID_SOCKET
send_(AccSocket,Chr(10)+">>> Du bist drin <<<"+Chr(10)+Chr(10)+Chr(13),Len(">>> Du bist drin <<<")+4,0)
closesocket_(AccSocket)
closesocket_(Socket)
End
Du solltest
deklarieren, weil Du Dich sonst nur über das Loopback-Interface auf Deinen FTP connecten kannst, über andere Schnittstellen jedoch nicht!
-
Leo
- Beiträge: 420
- Registriert: 26.10.2004 18:26
Beitrag
von Leo »
Wow, danke dir
mit [c]Service\sin_addr = #INADDR_ANY[/c] geht's jetzt, ich kann connecten.
Was mich auch freut, ist, dass das das ganze auf einmal keine 100% cpu mehr braucht
Danke
P.S.: Das auf clients warten mit [c]accept[/c] werd ich wohl in einen Thread tuen müssen, oder?
-
real
- Beiträge: 468
- Registriert: 05.10.2004 14:43
Beitrag
von real »
Bitte bitte
Leo hat geschrieben:Das auf clients warten mit [c]accept[/c] werd ich wohl in einen Thread tuen müssen, oder?
Ich würd's so machen - ein besserer Weg fällt mir dazu nicht ein...
-
Tibor
- Beiträge: 42
- Registriert: 29.08.2004 03:25
- Wohnort: Mittelerde, südlich der großen Grasplantagen
Beitrag
von Tibor »
Ich würde es mit
Select machen.
Eine Anleitung dazu kannst du
hier finden.
MfG Tibor