Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: [VB6] Winsock multipli

  1. #1

    vb6 winsock multipli

    Salve a tutti so bene che è un argomento trattato innumerevoli volte ma non sono riuscito a trovare risposta al mio quesito
    mi sono cimentato nell'uso di winsock multipli e volevo creare una sorta di server ftp
    volevo sapere se era possibile fare in modo che più client scarichino dal server file diversi contemporaneamente sulla stessa porta non so se mi sono spiegato bene grazie per le eventuali risposte
    Sììì puòòò FAREEEE!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Strano tu non abbia trovato nulla.

    Tutti i server si basano su queste caratteristiche. Un server ftp utilizza un socket per ogni connessione instaurata con il client.

    P.S. Non è questa la sezione giusta per il VB6 ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    si io riesco a far collegare più client allo stesso server ma non riescono a scaricare i file contenuti su di esso
    sorry per la sezione sbagliata
    Sììì puòòò FAREEEE!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se mostri il codice e indichi più in dettaglio il problema, si puo' vedere di darti qualche risposta ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    siccome non è codice ma chaos cercherò di spiegare
    ho un server in ascolto sulla porta 2089 n client si collegano all'ip del server sulla porta 2089 .
    Mettiamo il caso che client1 e client2 siano connessi al server e contemporaneamente chiedono il download di 2 file diversi ottengo che il primo client che ha chiesto il file 1 non riceve nulla tranne il file 1 incompleto
    mentre il client2 intercetta lo stream del client 1 si appropria del file e intanto riceve anche il file2 cioè mi si crea un file che racchiude entrambi i file.
    la domanda in realtà dovrebbe essere come divido lo streaming dei file da parte del server
    Sììì puòòò FAREEEE!

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Si vede che sbagli qualcosa nel codice, ma se non lo vuoi mostrare, non si puo' fare molto ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    si hai ragione ti posto la sub che inva il file al client dopo la richiesta
    codice:
    Private Sub invia(deta As String) 
    On Error Resume Next 
    Dim lung As String 
    Dim fil As String 
    fil = "C:\DownloadJS\" & deta 
    'deta = Space$(65360) 
    'lung = Space$(65360) 
    Open fil For Binary As #1 
    lung = Space$(1509)
     Label1.Caption = LOF(1) 
    pb.Max = LOF(1)
     Me.Caption = fil 
    Do While Not EOF(1) Get #1, , lung 
    ws(socket).SendData lung 
    attendi 
    If pb.Value <= pb.Max Then
     pb.Value = pb.Value + Len(lung) 
    End If
     Loop
     Close #1 
    Me.Caption = "Fine" End Sub
    Sììì puòòò FAREEEE!

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Come imposti il valore della variabile

    socket

    ?

    Come chiami questa sub "invia" ?

    Sarebbe bene vedere tutto il codice ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    eccolo

    codice:
    Private Sub ws_Close(Index As Integer)
    On Error Resume Next
    i = Index - 1
    List1.RemoveItem i
    Unload ws(numsock)
    numsock = numsock - 1
    ReDim Preserve utenti(numsock)
    Invia_lista
    
    
    End Sub
    
    Private Sub ws_ConnectionRequest(Index As Integer, ByVal requestID As Long)
    If sckstate <> sckconnect Then ws(Index).Close
    numsock = numsock + 1
    Load ws(numsock)
    ws(numsock).Accept requestID
    ReDim Preserve utenti(numsock)
    
    End Sub
    
    Private Sub ws_DataArrival(Index As Integer, ByVal bytesTotal As Long)
    Dim data As String
    
    ws(Index).GetData data
    
    
    Me.Caption = data
    
    socket = Index
    
    invia (data)
    
    
    'If stand = True Then
    'For i = 0 To UBound(utenti)
    'If data = utenti(i).utent Then
    'socket = utenti(i).cod
    'End If
    'Next i
    'stand = False
    'End If
    
    End Sub
    Sììì puòòò FAREEEE!

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma che senso ha inviare un file nella Data_Arrival quando viene ricevuto un dato dal socket?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.