Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [VB.NET] Disconnessione Socket

    Ciao a tutti.

    Ho un piccolo problema (può essere dato dall'ignoranza), praticamente sto provando a fare un programmino server e uno client che si scambiano un paio di stringhe. Il tutto funziona alla perfezione, tranne 1 cosa: non riesco a disconnettere il socket per creare una nuova connessione _-_

    Allora io importo le librerie System.Net, poi mi connetto al "server" con:

    client.connect("127.0.0.1", 888)
    netstr = client.getstream
    etc

    E mi passo le stringhe con Netstr.Write(Bytes, 0, Bytes.length).

    Poi però, non riesco a disconnettere il socket utilizzato per la connessione, per effettuare un nuovo connect. Ho provato di tutto:

    - client.client.shutdown(SocketShutdown.both)
    - client.client.disconnect(False)
    - client.close()
    - netstr.close()

    Ma niente, se faccio un nuovo client.connect(ip,port), mi da: "Richiesta di connessione inoltrata ad un socket già connesso". Ma io come faccio a disconnettere questo socket?

    Spero di essere stato + o - chiaro sulla spiegazione. Ringrazio in anticipo per le risposte...

    Grandi raga, ciauz!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Beh ... se facessi vedere il codice lato client e quello lato server ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Mm... è molto molto lungo... vedo di trovare uno di quei siti dove incollare il codice, e ve lo posto per intero... one second

    (grazie intanto)



    EDIT:

    Allora... Server: http://rafb.net/p/OPLhWd47.html

    Client: http://rafb.net/p/UsfLpZ41.html

  4. #4
    "risolto"

    Praticamente, non sapendo chiudere sto socket, ho fatto una funzione che apre la connessione e invia i dati al server. Le variabili della system.net le ho dichiarate all'interno della funzione con l'istruzione Dim, in questo caso una volta esaurita la funzione vengono eliminate e la connessione viene interrotta.

    Non sò quanto questo sia giusto... cmq per ora sembra funzionare bene.



    Ne approfitto per fare un altra domanda, (se serve apro un altro topic, ormai ho postato il codice qui...), quando io invio una stringa con:

    Dim Bytes() as Byte = System.text.ASCIIEncoding.ASCII.GetBytes(messaggio .text)
    NetStr.Write(Bytes, 0, Bytes.Lenght)

    come faccio a farmi ritornare una stringa dal server? Diciamo che io invio questa stringa dal client e vorrei che il server mi inviasse una conferma... però non sò come si fa, in internet trovo poco o niente a riguardo.

    Grazie ancora per l'aiuto.

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.