View Full Version : conexação vb.net


asa_delta
12-06-2006, 13:32
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

MaTreCo
12-06-2006, 15:29
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" ?? :)

asa_delta
12-06-2006, 16:30
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

Galbne_PT
12-06-2006, 19:25
Boas,

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

Cumps

asa_delta
12-06-2006, 19:29
ja verifiquei tudo, até já pessoal amigo já tentou ver, e ninguém consegue verificar onde está o gato
8o

iznougud
13-06-2006, 13:32
que erro é que ele dá exactamente?

asa_delta
13-06-2006, 17:36
o erro k dá é:

System.Net.Sockets.SocketError.ConnectionRefused

já procurei e nada

obrigado

TuxBoss
13-06-2006, 20:55
Está alguma coisa á espera de ligação nessa porta?
Está algum tipo de fw a barrar a port?

btw o q raio é "córrego"

MaTreCo
14-06-2006, 09:59
Estás a fechar o tcpclient do lado do servidor ?? Se executares primeiro o código do outro botão tb n dá ??

asa_delta
14-06-2006, 11:27
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