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

    [VB .NET]TCPListener GetIP Client

    Salve a tutti..sto realizzando un server con l'aiuto delle classi tcpclient, networkstream e tcplistener. Volevo sapere se è possibile intercettare l'ip e altre informazioni del client che si connette al server così da gestire meglio una "lista utenti"

    Grazie
    Provoca Il Più Bravo E Morirai Come Uno Schiavo

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Naturalmente sì ... quando esegui la AcceptSocket o la AcceptTcpClient, il socket contiene le informazioni del client connesso ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    visto..ci sono un sacco di cose..ma non riesco a trovare il metodo per ricavare l'ip e le altre informazioni..mi potresti aiutare??
    Provoca Il Più Bravo E Morirai Come Uno Schiavo

  4. #4
    Error..

  5. #5
    codice:
    Dim clientIPAddress As String = ("Your Ip Address is: " + IPAddress.Parse(CType(client.Client.RemoteEndPoint,IPEndPoint).Address.ToString))
    ho trovato questo pezzo di codice..ho dovuto cambiare la String in IPaddress x farlo andare ma non capisco perchè quando faccio partire il programma con questo codice crasha e non mi dà nessun tipo di errore..
    Provoca Il Più Bravo E Morirai Come Uno Schiavo

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Cominciamo dal codice che hai scritto ... sia quello del client sia quello del server ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    allora c'è un timer che regola i collegamenti dei client

    codice:
     If tcplisten.Pending Then
                client = tcplisten.AcceptTcpClient
    
                netstrm = client.GetStream
    
                Ricevi.Enabled = True
    
                Dim IPAddress As New IPAddress(Dns.GetHostByName(Dns.GetHostName).AddressList(0).Address)
                Dim strIPAddress As String = IPAddress.ToString
    
                Dim bytes As Byte() = System.Text.Encoding.ASCII.GetBytes("Connesso al server: " & strIPAddress & " Tuo IP: ")
                netstrm.Write(bytes, 0, bytes.Length)
                netstrm.Flush()
            End If
    e un altro per ricevere i messaggi

    codice:
     If netstrm.DataAvailable = True Then
                Dim stringar As String
                Dim bytes(client.ReceiveBufferSize()) As Byte
                netstrm.Read(bytes, 0, bytes.Length)
    
                stringar += System.Text.Encoding.ASCII.GetString(bytes)
                TextBox1.Text += stringar & vbCrLf
            End If
    codice:
     Private tcplisten As New TcpListener(1100)
        Dim client As New TcpClient()
        Dim netstrm As NetworkStream
    questo sn le dichiarazioni


    per quanto riguarda il client sto provando con telnet ma ho ank provato con lo stesso esito cn un client realizzato da me sempre con la classe tcpclient
    Provoca Il Più Bravo E Morirai Come Uno Schiavo

  8. #8
    penso di aver risolto

    codice:
     Dim ip As String = client.Client.RemoteEndPoint.ToString.Substring(0, client.Client.RemoteEndPoint.ToString.IndexOf(":"))
    ke ne dite??
    Provoca Il Più Bravo E Morirai Come Uno Schiavo

  9. #9
    Originariamente inviato da Napster
    penso di aver risolto

    codice:
     Dim ip As String = client.Client.RemoteEndPoint.ToString.Substring(0, client.Client.RemoteEndPoint.ToString.IndexOf(":"))
    ke ne dite??
    Diciamo che se funziona allora va bene..

    Cmq se vuoi, puoi postare per intero (magari con qualche commento) il tuo codice, specificando all'inizio di cosa si tratta: trattandosi di un argomento non proprio piccolo ma sempre di grande interesse, potrà essere utile in futuro ad un altro utente..

    Ciao

  10. #10
    vabbè penso che chi conosca un minimo di Visual Basic .NET ne riesca a capire qualcosa..

    cmq per chiunque voglia qualche delucidazione può postare benissimo qui..sono a disposizione


    hei senti ti volevo fare una domanda..spero non sia troppo off topic..vorrei gestire una listbox con gli user..vabbè per aggiungerli ho messo sempre nell'evento pending del timer
    codice:
    listbox1.items.add(ip)
    dove ip è la stringa che ho postato sopra..però non riesco a trovare l'evento che mi rileva quando un client si disconnette ed eventualmente eliminare proprio quell'ip dalla lista..mi puoi dare una mano??
    Provoca Il Più Bravo E Morirai Come Uno Schiavo

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.