• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Dotinho

ligações tcp

3 mensagens neste tópico

boas, to a querer fazer um programa para comunicar em tcp, mas to a ter alguns problemas, pois as ligações nao correm muito bem como eu queria..

tenho um tcplistner que ao receber ligações, abre um tcpcliente, como posso-o fazer abrir mais que um tcpclient?

cmps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso talvez dê para fazer.

Mas pq queres fazer isso?

Eu diria q se queres ter vários clientes, cada cliente deve ter o seu tcp listener.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois, é assim, quero ter uma ligação sql no pda, mas para isso a vodafone corta-me a ligação nas portas do sql, então quero "comprimi-lo":

1 um programa host que recebe na porta 80 e ta instalado ao pe do sql, esse programa recebe do pda e faz querys ao sql e depois envia a resposta pela mesma porta 80, como é http, esta sempre aberta..

2 tambem o programa recebe os dados encriptados e transmite-os encritpados para evitar sniffers..

3 mas só conseigo receber o primeiro pacote, os outros nao recebo, quer dizer, recebo mas anda nao descobri como os ler..

eis o codigo de recebr os dados no programa host

  Try

            If tcpL.Pending Then

                LI_Server.BackColor = Color.GreenYellow

                Receber(tcpL.AcceptTcpClient)

            Else

                LI_Server.Text = "Server" & vbNewLine & "RUN"

                LI_Server.BackColor = Color.Green

            End If

        Catch ex As Exception

            MsgBox(ex.Message)

        End Try

        Label8.Text = tcpL.Pending

depois para receber to a exprimentar assim:

primeiro isto

  tcpC = tcp

        Dim ip As String = tcpC.Client.RemoteEndPoint.ToString

        Fx_LVReg("Ligação com " & ip)

        Timer2.Enabled = True

        th = New Thread(AddressOf Th_RcbTcp)

        th.Start()

e na sub do thread tem isto

  While tcpC.Connected

            If tcpC.Available > 0 Then

                Dim dt As Integer = tcpC.Available

                Dim nr = tcpC.GetStream : Dim bt(tcpC.Available) As Byte

                Dim bty(dt) As Byte : Dim s, ss As String

                nr.Read(bty, 0, bty.Length)

                s = Encoding.ASCII.GetString(bty, 0, dt)

                ss = Crypto.Decrypt(s)

                Fx_LVReg("Rec: " & ss)

            End If

            Thread.Sleep(100)

        End While

        Fx_LVReg("Desligago...")

espero que percebam..

cmps

(´so uma pergunta, como posso fazer um copy past e ficar igual ao VS2008, é que ja vi fazer e não sei como...)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora