none
Problema para estabelecer uma conexão entre Cliente.exe e Servidor.exe usando o serviço No-ip. RRS feed

  • Pergunta

  • Boa tarde,

    Eu tenho um aplicativo de acesso remoto e eu preciso receber conexões de meus clientes utilizando o serviço No-ip (no-ip.com), tendo em vista que ip externo é sempre dinâmico.

    Então eu já feito todas as configurações corretamente  (do lado Servidor.exe) tais como:

    • Liberei as portas necessárias no modem
    • Desativei o firewall do Windows

    e até agora não obtive sucesso para estabelecer esta conexão (com ip local usando Cliente.exe e Servidor.exe na msma rede, funciona perfeitamente).

    Então, atualmente estou utilizando o seguinte código abaixo para tentar estabelecer esta conexão

    usando o serviço No-ip (no-ip.com):

    Public Class SocketClient
    
        Private C As TcpClient
    
            Public Function IsIPAddressValid(ByVal addrString As String) As Boolean
    
            Dim address As IPAddress
            Return IPAddress.TryParse(addrString, address)
    
            End Function
    
    
    Sub Connect(ByVal h As String, ByVal p As Integer)
    
            Dim ipAddr As System.Net.IPAddress
            Dim ipEndPoint As System.Net.IPEndPoint
    
            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.CurrentThread.Sleep(1)
                Loop
                Try
    
           
    
                    ipAddr = IPAddress.Parse(h)
                    ipEndPoint = New System.Net.IPEndPoint(ipAddr, p)
                    C = New TcpClient(ipEndPoint)
    
                    C.Connect(ipEndPoint)
    
                    MessageBox.Show("Ok") ' Devido ao erro, esta mensagem nunca aparece
    
            
    
                    Dim t As New Threading.Thread(AddressOf RC, 10)
                    t.Start()
                    RaiseEvent Connected()
                Catch ex As Exception
                End Try
            Catch ex As Exception
                RaiseEvent Disconnected()
            End Try
        End Sub
    
    Function conn() As String
    
            Dim inStream As StreamReader
            Dim webRequest As WebRequest
            Dim webresponse As WebResponse
            Dim ip As String = Nothing
    
            Dim tfk As New Thread(Sub()
    
                                      Try
    
                                          webRequest = webRequest.Create(Decrypt1("kTbXQyC7KwzyNTyQNzfQqN0rg2CMhKdwNWvBts6hS7Q=")) 'Url para o arquivo .txt remoto
                                          webresponse = webRequest.GetResponse()
                                          inStream = New StreamReader(webresponse.GetResponseStream())
                                          ip = inStream.ReadToEnd()
    
               
    
                                          If Not IsIPAddressValid(ip) Then
    
                                         
                                          Dim hostname As IPHostEntry = Dns.GetHostByName(ip)  ' Pega o endereço No-ip contido no arquivo .txt remoto
                                          Dim Noip As IPAddress() = hostname.AddressList
                                          ip = Noip(0).ToString() 'Endereço No-ip convertido para o ip externo correspondente
    
                                          End If
    
                                      Catch ex As Exception
    
                                      End Try
    
                                  End Sub)
            tfk.Start()
            tfk.Join()
    
            Return ip
    
        End Function
    
        End Class

    ''''''''' Form1.vb (Cliente.exe) '''''''''''

    Public Class Form1
    
    Public WithEvents C As New SocketClient
    
    Public HOST As String = Nothing
    Public port As Integer
    
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
    HOST = C.conn 
    Dim port = 92
    
    End Sub
    
    Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
            If C.Statconnected = False Then
                C.Connect(HOST, port)
            End If
        End Sub
    
    End Class

    Alguém tem alguma ideia do que possa estar acontecendo e possa me ajudar com este grave problema?

    Já tentei de várias formas com relação ao uso do TcpClient.Connect() e classe IPEndPoint, mas até agora nada de sucesso.

    Entretanto, quaisquer outras sugestões serão bem recebidas!



    • Editado FL4SHC0D3R quarta-feira, 18 de novembro de 2015 17:22
    quarta-feira, 18 de novembro de 2015 17:04

Respostas

  • Oi amigo Recomendo desta forma 

    Recomendo que use desta forma 
    
                'conect server to client no forme lord do seu cliente
                host = "meuhost.ddns.net"
                porta = 92
    
                c.Connect(host, porta) 'conect server to host  porta tcpi/ip / cliente servidor
                Me.Timer1.Interval = 100 'tempo
                Me.Timer1.Start() 'start conexao
    
    
    
       Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            On Error Resume Next
            If c.Statconnected = False Then 'not conected = reconect server  
                c.Connect(host, porta) 'conect server /porta host
            End If
        End Sub
    
    
    

    • Marcado como Resposta Marcos SJ quinta-feira, 19 de novembro de 2015 17:38
    quarta-feira, 18 de novembro de 2015 21:32

Todas as Respostas

  • Oi amigo Recomendo desta forma 

    Recomendo que use desta forma 
    
                'conect server to client no forme lord do seu cliente
                host = "meuhost.ddns.net"
                porta = 92
    
                c.Connect(host, porta) 'conect server to host  porta tcpi/ip / cliente servidor
                Me.Timer1.Interval = 100 'tempo
                Me.Timer1.Start() 'start conexao
    
    
    
       Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            On Error Resume Next
            If c.Statconnected = False Then 'not conected = reconect server  
                c.Connect(host, porta) 'conect server /porta host
            End If
        End Sub
    
    
    

    • Marcado como Resposta Marcos SJ quinta-feira, 19 de novembro de 2015 17:38
    quarta-feira, 18 de novembro de 2015 21:32
  • Aqui um bom exemplo para ajudar qualquer coisa so falar vlw ae espero ter ajudado !

    http://www.macoratti.net/net_soc1.htm

    quinta-feira, 19 de novembro de 2015 00:17
  • @Pjoao1578pro2,

    Infelizmente nenhuma dessas 2 formas não funcionam com nome de host dns (ex: No-ip, DuckDns etc), pois já tentei de várias formas com relação a tais sugestões, mas até agora sem sucesso, nem mesmo fazendo a conversão do nome para ip funcionou. Se vc puder testar aí esse exemplo do Macoratti e me retornar uma mensagem de sucesso ou insucesso, agradeceria bastante a ajuda.

    Aguardo resposta.



    • Editado FLASHCODER quinta-feira, 19 de novembro de 2015 20:23
    quinta-feira, 19 de novembro de 2015 20:09
  • Bom pelo que vi vc quer fazer conexão reversa vc teria que ter o duc no pc estalado e esta logado em sua conta no-ip teria que permitir seu aplicativo no firewall e abri a porta usada de conexão em seu modem e roteador caso tenha um e permitir aceso remoto em seu pc bom verifique isso antes de fazer os testes e relate o erro que esta ocoreno que impedir vc de se conectar  ...  Espero ter ajudado vc
    sexta-feira, 20 de novembro de 2015 16:50
  • Bom pelo que vi vc quer fazer conexão reversa vc teria que ter o duc no pc estalado e esta logado em sua conta no-ip teria que permitir seu aplicativo no firewall e abri a porta usada de conexão em seu modem e roteador caso tenha um e permitir aceso remoto em seu pc bom verifique isso antes de fazer os testes e relate o erro que esta ocoreno que impedir vc de se conectar  ...  Espero ter ajudado vc

    Isso é conexão reversa sim. Já fiz todo procedimento descrito por você acima, inclusive esta postagem relata exatamente o problema que estou passando, e a mensagem do Exception é exatamente a mesma, pode ter certeza que fiz todos os 3 passos sugeridos pelo autor do post na busca por uma solução, mas sem sucesso até agora. Como disse lá em cima, aqui ta tudo desativado: Antivírus, Firewall, redirecionamento de portas feito, inclusive ativei o DMZ tbm, e DUC devidamente configurado e ativado. Ainda com relação a postagem que encontrei como falei anteriormente, entre outras dicas, ele sugere para que coloque o TcpListener (parte "servidor.exe") para ouvir a partir do própio pc (ip interno), então baseado no código do autor do post eu fiz aqui no meu igual a como se segue:

    Dim TL As TcpListener TL = New TcpListener(IPAddress.Parse("192.168.25.116"), 100) TL.Start();

    'Antes estava sem o ip:

    Dim TL As TcpListener
    
    TL = New TcpListener(100)
    TL.Start();

    Daí quando executo a parte cliente em um pc que tenho exclusivo só pra testes, me aparece a seguinte mensagem no Exception (da parte cliente): Exception gerada no "cliente.exe"

    Sinceramente já nem sei mais por qual caminho seguir nessa tentativa de sanar este sério problema :=(

    Por acaso meu amigo aí teria como testar ao menos o exemplo do autor do post citado (inclusive dps de aplicar a dica dele de resolução, e me dizer se teve sucesso aí? Agradeceria bastante por essa ajuda ajuda se der.

    O objetivo é bem simples! o cliente conectar-se ao meu pc através do meu ip externo (ip fornecido pela operadora de internet) ou via host name (que é pelo ip externo tbm teoricamente) usando o serviço No-ip (se quiser tbm pode usar uma função pra "tranformar o host name em ip" antes da instância do Listener se achar muito confuso).

    Ou seja, sempre o problema gira em torno de Como receber conexões de um pc externo usando o ip externo? :-)

    Aguardo retorno.






    • Editado FLASHCODER sábado, 21 de novembro de 2015 02:23
    sábado, 21 de novembro de 2015 02:18
  • Assim amigo 

     Public WithEvents c As New SocketClient 'conect TCP cliente servidor
     Public Shared porta As String = "92" 'porta TCP
     Public Shared host As String = "seurost.ddns.net" 'host /ip / aqui fica o rost da no-ip da duc que vc teria que criar
    
    'forme lord
    
     'conect server to client
                c.Connect(host, porta) 'conect server to host porta tcpi/ip / cliente servidor
                Me.Timer1.Interval = 100 'tempo
                Me.Timer1.Start() 'start conexao
    
    
      Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            On Error Resume Next
            If c.Statconnected = False Then 'not conected = reconect server  
                c.Connect(host, porta) 'conect server /porta host
            End If
        End Sub
    
        Private Sub c_Connected() Handles c.Connected
            On Error Resume Next 'clean erros continue
        End Sub
    
        Private Sub c_Disconnected() Handles c.Disconnected
            On Error Resume Next 'clean erros continue
            c.Connect(host, porta) 'reconectar server disconected
        End Sub

    sábado, 21 de novembro de 2015 17:29
  • Se o seu cliente servidor nao conecta usado esse metodo que postei agora o erro esta em sua class de conexão tcp/ip  
    sábado, 21 de novembro de 2015 17:31
  • Se o seu cliente servidor nao conecta usado esse metodo que postei agora o erro esta em sua class de conexão tcp/ip  

    @Pjoao1578pro2

    Você chegou a testar o exemplo do link do post que mandei do outro fórum, usando o No-ip e DUC?

    funcionou?

    sábado, 21 de novembro de 2015 19:29
  • Sim os meios de conexão estao coretos o erro esta ocorrendo em sua class de conexão bom eu tenho um cliente servidor meu que esta 100% funcional irei postar para vc espero ter ajudado vc qualquer coisa fala ae blz..

    Servidor 

    Imports System.Net
    Imports System.Net.Sockets
    Imports System.Text 'Imports
    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 = 9999999
                    C.ReceiveBufferSize = 9999999
                    C.Client.SendBufferSize = 9999999
                    C.Client.ReceiveBufferSize = 9999999
                    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
    

    sábado, 21 de novembro de 2015 22:01
  • Sim os meios de conexão estao coretos o erro esta ocorrendo em sua class de conexão bom eu tenho um cliente servidor meu que esta 100% funcional irei postar para vc espero ter ajudado vc qualquer coisa fala ae blz..

    Servidor 

    Imports System.Net
    Imports System.Net.Sockets
    Imports System.Text 'Imports
    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 = 9999999
                    C.ReceiveBufferSize = 9999999
                    C.Client.SendBufferSize = 9999999
                    C.Client.ReceiveBufferSize = 9999999
                    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

    @Pjoao1578pro2,

    tenho usado a sua classe acima, mas ainda continua no mesmo erro. Por ver das dúvidas, poderia me fornecer a sua classe SockerServer.vb (servidor.exe)?  talvez também possa está com erro em relação a sua. Esta é a que uso atualmente. E também deixo o projeto de exemplo com o código do autor do post do outro fórum que falei antes. Aqui não funcionou igualmente o meu software. Veja se aí no seu funciona por favor se der!

    Aguardo.



    • Editado FLASHCODER domingo, 22 de novembro de 2015 15:19
    domingo, 22 de novembro de 2015 13:53
  • Oi amigo bom eu dei uma olha em sua aplicação bom como vc quer fazer conexao reversa o cliente se tonar o servidor e o servidor se tona cliente bom olhei sua aplicação e vi o erro que vc falava do try que dava erro bom na verdade vc tem 2 servidores o que esta dando erro e um servidor tambem vc teria que fazer o cliente esperando a conexao do servidor que pelo que vi ele e um servidor usa host no-ip e porta entao o seu erro e que vc tem 2x servidores o que esta dando erro no try ele e um servidor tambem entao reveja seu projeto e faça do 0 o cliente pois ele nao e um cliente e sim um servidor !! e para se conectar vc precisa de um servidor e de um cliente e pelo que vi em sua aplicação vc tem 2x servidor nao um cliente e um servidor !

    Aqui um cliente servidor para que vc possa ver ex = http://www.macoratti.net/net_soc1.htm

    Aqui um video fazendo cliente servidor com winsock no youtube ex = https://www.youtube.com/watch?v=A9Ji4hO9bkQ

    Aqui amigo uma source completa de cliente servidor sem erros feita para capturar descktop remoto projecto 100% funcional projecto [Source coder] = https://www.sendspace.com/file/179aa0

    Espero ter ajudado agora ! Bom uso dos materiais 

     

    domingo, 22 de novembro de 2015 16:47
  • Oi amigo bom eu dei uma olha em sua aplicação bom como vc quer fazer conexao reversa o cliente se tonar o servidor e o servidor se tona cliente bom olhei sua aplicação e vi o erro que vc falava do try que dava erro bom na verdade vc tem 2 servidores o que esta dando erro e um servidor tambem vc teria que fazer o cliente esperando a conexao do servidor que pelo que vi ele e um servidor usa host no-ip e porta entao o seu erro e que vc tem 2x servidores o que esta dando erro no try ele e um servidor tambem entao reveja seu projeto e faça do 0 o cliente pois ele nao e um cliente e sim um servidor !! e para se conectar vc precisa de um servidor e de um cliente e pelo que vi em sua aplicação vc tem 2x servidor nao um cliente e um servidor !

    Aqui um cliente servidor para que vc possa ver ex = http://www.macoratti.net/net_soc1.htm

    Aqui um video fazendo cliente servidor com winsock no youtube ex = https://www.youtube.com/watch?v=A9Ji4hO9bkQ

    Aqui amigo uma source completa de cliente servidor sem erros feita para capturar descktop remoto projecto 100% funcional projecto [Source coder] = https://www.sendspace.com/file/179aa0

    Espero ter ajudado agora ! Bom uso dos materiais 

     

    @Pjoao1578pro2

    Infelizmente seu exemplo de Remote Desktop só funciona em rede local, e uma observação que vale mencionar é que o campo destinado ao No-ip no servidor, não é utilizado ao longo do código, tendo em vista que você está usando IPAddress.Any para ouvir as conexões do CLIENTE.exe, e outra coisa é que particularmente acho que não faz sentido o CLIENTE.exe conectar-se a um ip local, em uma rede externa isso não funcionaria :-).

    Em resumo, nesse exemplo, a sua abordagem sobre Cliente <--> Servidor está correta apenas no que diz respeito ao envio de comandos para a aplicação que de fato é a cliente. Com base na pequena noção que tenho sobre conexão reversa Cliente <--> Servidor , o correto seria o CLIENTE.exe conectar-se ao SERVIDOR.exe por meio de um ip externo ou host name (como No-ip) e o SERVIDOR.exe escutar a conexão apenas usando uma porta específica (como normalmente se faz). Entretanto, por favor me corrija se eu estiver errado. Vendo por essa analogia, a forma que estava fazendo estaria correto, mas não sei o porque que não funciona de jeito nenhum em VB.NET.



    • Editado FLASHCODER domingo, 22 de novembro de 2015 22:16
    domingo, 22 de novembro de 2015 22:14
  • Como eu disse na resposta a traz seu projecto erra 2x servidores nao um cliente e servidor !! e la em sima le dei uma class completa de conexao perfeita que eu mesmo uso em conexao reversa tambem e funciona perfeitamente o projecto que me deu e como eu disse sao 2x servidor esta erado por favor corrija seu projecto fazendo o cliente o remote desktop foi um projeto feito para vc ver como foi feita a conexao funcional perfeitamente ja o seu projecto e 2x servidor entao nao a como um servidor se conectar a outro servidor e sim a um cliente ! qual quer cliente servidor se conecta revesamente amigo basta colocar vosso host no-ip em vez do ip local q no caso seria 127.0.0.1 deixando bem claro que o erro de seu aplicativo nao esta conectando e porque sao 2x servidores e nao cliente e servidor ! para receber a conexao do servidor remotamente vc teria que refazer seu cliente pois ele e um servidor tambem ! o servidor utiliza vosso host ex ddns.net e a porta ex 100 ja vosso cliente fica esperando a conexao do servidor apenas escutando a porta usada no servidor q nu caso seria a 100 !!!! seu projeto esta erado o cliente e servidor esta usado ip e porta os 2x no caso so teria que arumar o seu cliente mesmo 
    segunda-feira, 23 de novembro de 2015 01:04
  • Como eu disse na resposta a traz seu projecto erra 2x servidores nao um cliente e servidor !! e la em sima le dei uma class completa de conexao perfeita que eu mesmo uso em conexao reversa tambem e funciona perfeitamente o projecto que me deu e como eu disse sao 2x servidor esta erado por favor corrija seu projecto fazendo o cliente o remote desktop foi um projeto feito para vc ver como foi feita a conexao funcional perfeitamente ja o seu projecto e 2x servidor entao nao a como um servidor se conectar a outro servidor e sim a um cliente ! qual quer cliente servidor se conecta revesamente amigo basta colocar vosso host no-ip em vez do ip local q no caso seria 127.0.0.1 deixando bem claro que o erro de seu aplicativo nao esta conectando e porque sao 2x servidores e nao cliente e servidor ! para receber a conexao do servidor remotamente vc teria que refazer seu cliente pois ele e um servidor tambem ! o servidor utiliza vosso host ex ddns.net e a porta ex 100 ja vosso cliente fica esperando a conexao do servidor apenas escutando a porta usada no servidor q nu caso seria a 100 !!!! seu projeto esta erado o cliente e servidor esta usado ip e porta os 2x no caso so teria que arumar o seu cliente mesmo 

    Caro Pjoao1578pro2,    

    Peguei um projeto como exemplo para fazer o meu software, a parte Stu.exe seria no caso o cliente.exe e a parte Client.exe seria o servidor.exe, então se você puder me ajudar fazendo as devidas correções da parte Stu.exe (cliente.exe nesse projeto no caso) eu ficaria muito grato e feliz se funcionar aqui no meu computador, pois nem mesmo nesse Acesso Remoto de exemplo, não funcionou com o No-ip. Então se você puder fazer as devidas alterações e me retornar a atualização... pois meu software a parte de conexão é igual a deste exemplo, portanto se funcionar no exemplo, com certeza funcionará no meu também! :-)

    Aguardo resposta





    • Editado FLASHCODER segunda-feira, 23 de novembro de 2015 03:16
    segunda-feira, 23 de novembro de 2015 01:19
  • Isso e contra as regras do forum vc esta postando source de trojan ninguém ira le ajudar recomendo que remova seu link ou poderá ser banido pelo admin desse forum !!!
    segunda-feira, 23 de novembro de 2015 02:14
  • Isso e contra as regras do forum vc esta postando source de trojan ninguém ira le ajudar recomendo que remova seu link ou poderá ser banido pelo admin desse forum !!!

    Sendo assim, como você poderia me ajudar então? tem algum email ou Skype para contato? lá eu lhe passaria o projeto do Acesso Remoto de exemplo.

    Meu contato do Skype é: xmradio80

    Email: llgghh@hotmail.com.br


    • Editado FLASHCODER segunda-feira, 23 de novembro de 2015 04:03
    segunda-feira, 23 de novembro de 2015 03:15