Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [VB.NET] Classe Socket e TcpListener/TcpClient

    Ciao a tutti, vorrei fare un programma di messagistica da usare in una lan, ed ho visto che ci sono diverse classi che si possono usare.
    La classe Socket:
    codice:
    srvSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
    srvSocket.Bind(New IPEndPoint(myIP, myPort))
    srvSocket.Listen(backlog)
    cliSocket=srvSocket.Accept()
    La classe TcpListner/TcpClient
    codice:
    srvSocket As New TcpListener(myIP, myPort)
    cliSocket As New TcpClient
    srvSocket.Start()
    cliSocket = srvSocket.AcceptTcpClient()
    Secondo voi, quale è meglio usare?
    Grazie
    Jupynet

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    E' più semplice usare la seconda coppia ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Dalla risposta presumo che, semplicità a parte, siano equivalenti per le caratteristiche di base, ma se uno vuole approfondire per avere qualcosa in "più" è preferibile optare per la classe Socket, giusto?
    Infatti, guardando le proprietà e i metodi delle rispettive classi, ho visto che la classe Socket è più "fornita"...
    Jupynet

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Dipende da quanto è sofisticato il programma che vuoi realizzare.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Premesso che i reparti/uffici possono essere dislocati anche a diversi km di distanza (ma sempre collegati alla stessa intranet).
    Per il momento il programma non è tanto sofisticato, volevo suddividerlo in due parti:
    1) Scambio messaggi/comunicazioni tra uffici/personale (con possibilità di invio documenti/file)
    2) Invio/ricezione, e gestione, bozze di documenti da visionare, collegati con note esplicative, per la successiva approvazione..
    L'unica "certezza" che devo avere, è il buon esito dell'invio/ricezione del documento.

    Per il futuro non escludo la possibilità di aggiungere altre funzionalità...tutto dipende da quanto prende piede il tutto.
    Jupynet

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Secondo me TcpClient / TcpServer ti semplificano la vita nel codice dato che quello che devi realizzare con la classe Socket è proprio un client e un server Tcp.

    Se dovessi avere bisogno di qualcosa di "asincrono" lo realizzi con il Socket e tanto lavoro ma se ti vanno bene scambi sincroni allora ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Considerando che i documenti devono poter essere inviati anche se l'utente non è online, sarebbe questo l'unico scambio asincrono.
    Questo penso di risolverlo, tramite il server Tcp, "parcheggiando" il documento sul server, e nel momento che si connette il client (destinatario) inviargli il tutto, e comunicare al mittente l'avvenuta consegna.
    Come consigliato da te, penso di adottare l'accoppiata TcpListner/TcpClient.
    Grazie per le delucidazioni..
    Jupynet

  8. #8
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Domanda banale, non fai prima a fare un sito/applicazione web?
    Un applicazione client/server nasconde molti problemi.

  9. #9
    Originariamente inviato da URANIO
    Domanda banale, non fai prima a fare un sito/applicazione web?
    Un applicazione client/server nasconde molti problemi.
    Ciao, preferisco cimentarmi in un programma standlone.. a che tipo di problemi ti riferisci con un'applicazione client/server?
    Jupynet

  10. #10
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Originariamente inviato da jupynet
    Ciao, preferisco cimentarmi in un programma standlone.. a che tipo di problemi ti riferisci con un'applicazione client/server?
    Se è standAlone non è client/server.
    I problemi a cui mi riferisco sono vari e crescono con il crescere di complessità dell'applicazione. Un problema su tutti... se cambio l'interfaccia del server devo cambiare anche tutti i Client.

    L'unico vantaggio che vedo di avere un applicazione c/s è poter spostare parte della logica e del calcolo sul client, ma in questo caso non ti serve.

    Cmq se vuoi continuare in quella strada non usare TcpListener, usa WCF, o almeno un framework che permetta rpc, altrimenti diventerà ingestibile.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.