1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

conexação vb.net

Discussão em 'Programação' iniciada por asa_delta, 12 de Junho de 2006. (Respostas: 9; Visualizações: 994)

  1. asa_delta

    asa_delta Power Member

    tenho a class tcpclient e tcpserver, mas ao executar a conexação a um determinado IP, com um botão ele executa o k pretendo, mas com o mesmo código noutro botao ele nao executa
    Tenho a class definida da mesma forma no botao, o k muda só é a trama a enviar

    Obrigado
     
  2. MaTreCo

    MaTreCo Power Member

    As informações que dás são um pouco vagas mas verifica se estás a colocar o código no evento certo.
    De qualquer modo, o que é uma "conexação" ?? :)
     
  3. asa_delta

    asa_delta Power Member

    o código k tenho para activar é:

    Protected Sub cmdligar_1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdligar_1.Click
    Dim strEnviar2 As Integer
    Dim tcpClient As New System.Net.Sockets.TcpClient()
    tcpClient.Connect(
    "172.16.1.91", 4001)
    Dim networkStream As NetworkStream = tcpClient.GetStream()
    If networkStream.CanWrite And networkStream.CanRead Then
    ' Do a simple write.
    Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes("@00WD1200020052*" & vbCr)
    networkStream.Write(sendBytes, 0, sendBytes.Length)
    ' Read the NetworkStream into a byte buffer.
    networkStream.Write(sendBytes, strEnviar2, 16)
    Dim bytes(tcpClient.ReceiveBufferSize) As Byte
    networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
    ' Output the data received from the host to the console.


    Dim returndata As String = Encoding.ASCII.GetString(bytes)
    Console.WriteLine((
    "Host returned: " + returndata))
    tcpClient.Close()
    Else
    If Not networkStream.CanRead Then
    Console.WriteLine("cannot not write data to this stream (não podem escrever dados a este córrego )")
    tcpClient.Close()
    Else
    If Not networkStream.CanWrite Then
    Console.WriteLine("cannot read data from this stream (não podem os dados lidos deste córrego )")
    tcpClient.Close()
    End If
    End If
    End If

    End Sub

    este é o código do botao ligar

    para o botao "desligar" tenho a mesma coisa só muda a trama a enviar ao IP, tenho a certeza k a trama está correcta pois tenho esta aplicação a funcionar correctamente em VB,

    só não estou a perceber porque raio não esta a enviar a trama, será por pedir uma ligação a este IP e á mesma porta (4001) tendo tendo já esta sido efectuada ?

    Obrigado


     
  4. Galbne_PT

    Galbne_PT Power Member

    Boas,

    Como o MaTreCo diz, verifica se estas a xamar o codigo no evento certo, breakpoints dão mt jeito essas alturas :P

    Cumps
     
  5. asa_delta

    asa_delta Power Member

    ja verifiquei tudo, até já pessoal amigo já tentou ver, e ninguém consegue verificar onde está o gato
    8o
     
  6. iznougud

    iznougud I quit My Job for Folding

    que erro é que ele dá exactamente?
     
  7. asa_delta

    asa_delta Power Member

    o erro k dá é:

    System.Net.Sockets.SocketError.ConnectionRefused

    já procurei e nada

    obrigado
     
  8. TuxBoss

    TuxBoss Power Member

    Está alguma coisa á espera de ligação nessa porta?
    Está algum tipo de fw a barrar a port?

    btw o q raio é "córrego"
     
  9. MaTreCo

    MaTreCo Power Member

    Estás a fechar o tcpclient do lado do servidor ?? Se executares primeiro o código do outro botão tb n dá ??
     
  10. asa_delta

    asa_delta Power Member

    ele dar dá, mas só executa o comando da primeira vez em k tu executas o processo, qd fores a fazer da segunda vez, é k o gajo já não comunica com o IP, acho k deve ser a porta no terminal server que deve ficar barrada e não envia o comando


    obrigado
     

Partilhar esta Página