none
Download Upload Cliente servidor RRS feed

  • Pergunta

  • Oi galera tudo bem ? Bom com a ajuda de todos vcs eu fiz meu cliente servidor em vb.net usando tcp/ip bom eu estava programando de boa sem problemas mais fiquei com uma duvida aqui na cabeça se o cliente e o servidor ficam conectados entre eles fazem o download e o upload de conexão bom eu queria saber como capturar o download e o upload da conexão do cliente servidor quando estão conectados para ser exibido em uma label mais não faço a ideia de como seria isso para capturar bom venho pedir ajuda a vcs para me darem dicas ou exemplos para que eu possa começar a fazer o codigo obrigado a todos e vlw....  se possivel em vb.net obrigado


    sábado, 3 de outubro de 2015 02:00

Respostas

  • Olá GVGVGV,

    Tudo bem?

    Poderia postar o que você fez e explicar em qual ponto você tem dúvida no que está tentando fazer?

    Digo isso por que o fórum seria para auxiliar os usuários com problemas/erros que estejam ligados ao produto Microsoft ou as linguagens de programação criadas pela Microsoft, quando você informa que quer algo e espera que alguém te forneça um código ou ensine a programar o que você não sabe, você está fugindo do padrão do fórum. Não falo você especificamente, mas sim qualquer usuário do fórum que venha a fazer isso. O Fórum não presta suporte "How to", ou seja não é como alguns fóruns por exemplo que são focados em ensinar programação. Mas caso já tenha o código é só postar e explicar em qual parte do código está o erro que o impede de fazer o que precisa.

    Obrigado por sua participação.

    Atenciosamente

     

    Marcos Roberto de Souza Junior

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta Marcos SJ sexta-feira, 30 de outubro de 2015 15:04
    • Não Marcado como Resposta João Paulo [] quinta-feira, 24 de novembro de 2016 23:21
    • Marcado como Resposta João Paulo [] domingo, 19 de fevereiro de 2017 19:28
    quarta-feira, 21 de outubro de 2015 11:07

Todas as Respostas

  • Não sei como você implementou esta funcionalidade, mas precisa gerenciar a quantidade de dados transmitidos em variáveis.

    Acredito que dependendo da classe que você está utilizando possa existir algum método que retorna estas estatísticas.

    Pode dar mais detalhes do projeto?

    sábado, 3 de outubro de 2015 03:34
  • É apenas um cliente servidor basico onde os dois se comunicam usando um chat. Só que eu queria por em uma label, mostrando essa taxa de download e upload que os dois fazem entre si quando estao conectados, enviado e recebendo dados. Muito obrigado pela sua ajuda amigo 
    • Editado Marcos SJ terça-feira, 6 de outubro de 2015 17:18 Edição
    sábado, 3 de outubro de 2015 16:55
  • Olá GVGVGV,

    tudo bem?

    Conseguiu uma solução para o seu problema?

    Atencisoamente


    Marcos Roberto de Souza Junior

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 20 de outubro de 2015 19:14
  • Boa tarde amigo ? Infelizmente Ainda não :(
    terça-feira, 20 de outubro de 2015 19:32
  • Olá GVGVGV,

    Tudo bem?

    Poderia postar o que você fez e explicar em qual ponto você tem dúvida no que está tentando fazer?

    Digo isso por que o fórum seria para auxiliar os usuários com problemas/erros que estejam ligados ao produto Microsoft ou as linguagens de programação criadas pela Microsoft, quando você informa que quer algo e espera que alguém te forneça um código ou ensine a programar o que você não sabe, você está fugindo do padrão do fórum. Não falo você especificamente, mas sim qualquer usuário do fórum que venha a fazer isso. O Fórum não presta suporte "How to", ou seja não é como alguns fóruns por exemplo que são focados em ensinar programação. Mas caso já tenha o código é só postar e explicar em qual parte do código está o erro que o impede de fazer o que precisa.

    Obrigado por sua participação.

    Atenciosamente

     

    Marcos Roberto de Souza Junior

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta Marcos SJ sexta-feira, 30 de outubro de 2015 15:04
    • Não Marcado como Resposta João Paulo [] quinta-feira, 24 de novembro de 2016 23:21
    • Marcado como Resposta João Paulo [] domingo, 19 de fevereiro de 2017 19:28
    quarta-feira, 21 de outubro de 2015 11:07
  • OK sim claro amigo Boa tarde ?

    Bom, na verdade é como eu disse la em cima, queria capturar o download e o uploader da conexão de um cliente servidor feito em tcp/ip. Só que não sei por onde começar, eu sei que tenho que capturar os baytes da conexao e transformar em strings, só que nao sei em que ponto do codigo fazer isso. Bom, meu cliente servidor é um pouco grande, então vou postar aqui apenas o cliente para que vcs possam dar uma olhada e me dizer por onde eu começo. Obrigado também amigo pela ajuda.

    :)  

    Código abaixo do cliente feito em tcp/ip /Cliente servidor esse é apenas o cliente:

    Imports System.Net
    Imports System.Net.Sockets
    Imports System.Text
    Imports System.IO
    
    
    Public Class SocketClient 'conezao tcp/ip cliente servidor 
    
        Private C As TcpClient
        Public Event Connected()
        Public Event Disconnected()
        Public Event Data(ByVal b As Byte())
        Private IsBuzy As Boolean = False
    
        Public Function Statconnected() As Boolean
    
            Try
    
    
                If C.Client.Connected = True Then
                    Return True
                Else
                    Return False
    
                End If
    
            Catch ex As Exception
            End Try
        End Function
        Sub Connect(ByVal h As String, ByVal p As Integer)
            Try
                Try
                    If C IsNot Nothing Then
                        C.Close()
                        C = Nothing
                    End If
                Catch ex As Exception
                End Try
                Do Until IsBuzy = False
                    Threading.Thread.Sleep(1)
                Loop
                Try
                    C = New TcpClient
                    C.ReceiveTimeout = -1
                    C.SendTimeout = -1
                    C.SendBufferSize = 999999
                    C.ReceiveBufferSize = 999999
                    C.Client.SendBufferSize = 999999
                    C.Client.ReceiveBufferSize = 999999
                    C.Connect(h, p)
                    Dim t As New Threading.Thread(AddressOf RC, 1)
                    t.Start()
                    RaiseEvent Connected()
                Catch ex As Exception
                End Try
            Catch ex As Exception
                RaiseEvent Disconnected()
            End Try
        End Sub
        Private SPL As String = "pass" 'split packets / senha de conexao cliente servidor tcp/ip
        Sub DisConnect()
            Try
                C.Close()
            Catch ex As Exception
            End Try
            C = Nothing
            RaiseEvent Disconnected()
        End Sub
        Sub Send(ByVal s As String)
            Send(SB(s))
        End Sub
        Sub Send(ByVal b As Byte())
            Try
                Dim m As New MemoryStream
                m.Write(b, 0, b.Length)
                m.Write(SB(SPL), 0, SPL.Length)
                C.Client.Send(m.ToArray, 0, m.Length, SocketFlags.None)
            Catch ex As Exception
                DisConnect()
            End Try
        End Sub
        Private Sub RC()
            IsBuzy = True
            Dim M As New MemoryStream
            Dim cc As Integer = 0
    re:
            Threading.Thread.Sleep(1)
    
            Try
                If C Is Nothing Then
                    GoTo co
                Else
                    If C.Client.Connected = False Then
                        GoTo co
                    Else
                        cc += 1
                        If cc > 100 Then
                            cc = 0
                            Try
                                If C.Client.Poll(-1, Net.Sockets.SelectMode.SelectRead) And C.Client.Available <= 0 Then
                                    GoTo co
                                End If
                            Catch ex As Exception
                                GoTo co
                            End Try
                        End If
    
                    End If
                End If
                If C.Available > 0 Then
                    Dim B(C.Available - 1) As Byte
                    C.Client.Receive(B, 0, B.Length, Net.Sockets.SocketFlags.None)
                    M.Write(B, 0, B.Length)
    rr:
                    If BS(M.ToArray).Contains(SPL) Then
                        Dim A As Array = fx(M.ToArray, SPL)
                        RaiseEvent Data(A(0))
                        M.Dispose()
                        M = New MemoryStream
                        If A.Length = 2 Then
                            M.Write(A(1), 0, A(1).length)
                            Threading.Thread.Sleep(1)
                            GoTo rr
                        End If
                    End If
                End If
            Catch ex As Exception
                GoTo co
            End Try
            GoTo re
    co:
            IsBuzy = False
            DisConnect()
        End Sub
    End Class
    
    Module sockts
    
        Function SB(ByVal s As String) As Byte() 'string to byte()
            On Error Resume Next
            Return Encoding.Default.GetBytes(s)
        End Function
    
        Function BS(ByVal b As Byte()) As String 'byte() to string
            On Error Resume Next
            Return Encoding.Default.GetString(b)
        End Function
    
        Function fx(ByVal b As Byte(), ByVal WRD As String) As Array 'split bytes
            On Error Resume Next
            Dim a As New List(Of Byte())
            Dim M As New MemoryStream
            Dim MM As New MemoryStream
            Dim T As String() = Split(BS(b), WRD)
            M.Write(b, 0, T(0).Length)
            MM.Write(b, T(0).Length + WRD.Length, b.Length - (T(0).Length + WRD.Length))
            a.Add(M.ToArray)
            a.Add(MM.ToArray)
            M.Dispose()
            MM.Dispose()
            Return a.ToArray
        End Function
    End Module


    • Editado Marcos SJ quinta-feira, 22 de outubro de 2015 12:15 Edição
    quarta-feira, 21 de outubro de 2015 14:27