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

    Visual Basic 2005 - Socket - Client multiplo

    Salve a tutti, sto programmando da qualche giorno un'applicazione client server, è un progetto per l'università, si tratta di un gioco di poker multiplayer in modalità testo.
    Ho gia creato le classi del gioco, ma ora come ora sto affrontando la problematica dei socket per le connessioni via tcp ip. Ho fatto il server ed il client di prova ma non riesco a fare la connessione al server da piu di un client. Qualcuno sa darmi qualche dritta? qualche sorgente di base gia fatto? Qualche guida a riguardo? anche in C# che me lo leggo.

    Grazie
    Emanuele De Amicis
    New Angels S.r.l.
    Sistemista Junior
    http://www.newangels.it

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Leggi questo articolo e dai un'occhiata al codice ... anche se non e' per il 2005, dovrebbe suggerirti la via ...

    http://www.visual-basic.it/articoli/agNTServ2.htm

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    172
    Provo ad aiutarti ma sono alle prime armi spero ti sia di aiuto Allora non so se è giusto ma io ho risolto con il While cosi il server continua ad ascoltare vb.net
    Ti posto l'esempio server :

    Dim Client As New TcpClient
    Const portNumber As Integer = 2399
    Dim tcpListener As New System.Net.Sockets.TcpListener(portNumber)


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Try
    tcpListener.Start()


    While True

    client = tcpListener.AcceptTcpClient


    Label1.Text = ("Connection accepted.")
    Me.Show()
    Timer1.Enabled = True
    '----------
    ReDim data(client.ReceiveBufferSize)
    SendMessage("Server On Line!" & vbCrLf)
    '---read from server
    client.GetStream.BeginRead(data, 0, _
    CInt(client.ReceiveBufferSize), _
    AddressOf ReceiveMessage, Nothing)


    End While
    client.Close()


    Catch ex As SocketException
    MsgBox(e.ToString())
    Finally
    client.Close()
    End Try




    End Sub

  4. #4
    Originariamente inviato da oregon
    Leggi questo articolo e dai un'occhiata al codice ... anche se non e' per il 2005, dovrebbe suggerirti la via ...

    http://www.visual-basic.it/articoli/agNTServ2.htm
    Grazie sei stato prezioso... avevo gia troavo quel documento ma non l'avevo letto attentamente, pensavo si trattasse solo della gestione dei servizi da remoto.

    @Spinter: Leggilo anche tu, ho letto alcuni tuoi post, e penso che dovresti indirizzarti direttamente sul multithreading, risolvi ogni problema.
    Emanuele De Amicis
    New Angels S.r.l.
    Sistemista Junior
    http://www.newangels.it

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Di nulla ... quell'esempio ti mostra come un server riesce a creare thread multipli per ogni client che si connette, riuscendo a gestirli separatamente e concorrentemente.

    Che tutto sia all'interno di un Servizio di Windows, e' un fatto incidentale.

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.