Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

scorch

Comunicação Cliente - Servidor: Programa Crasha (Rede)

Mensagens Recomendadas

scorch    19
scorch

Boas, estou com um problema. Estou a criar um programa que serve de servidor e cliente, ou seja, servidor para uns, e também pode aceder a outros como cliente.

Não sei se me estou a fazer entender :), mas é um programa de partilha de ficheiros por rede em que cada computador tem o programa e esse programa partilha os ficheiros e vai buscar ficheiros a outros computadores.

Ainda estou no inicio, portanto, para já estou a tratar de a comunicação funcionar. Como é para testes, para já uso, no cliente, o ip 127.000.000.001

O meu problema é que ao fazer a comunicação, ele crasha. Estou a usar este exemplo, só muda o ip e a porta.

Alguém sabe como resolver o problema?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ribeiro55    44
ribeiro55

Exprimenta escrever o IP como deve de ser (127.0.0.1).

Alternativamente, tenta "localhost".

O "localhost" é obviamente uma DMZ, por isso só te deves preocupar em ter a mesma porta no servidor e no cliente.

Para além disto, define "crasha":

Produz algum tipo de erro? Usa step-debug para ver o que se está a passar.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
scorch    19
scorch

O backgroundworker adicionei na parte do servidor. Mas não na do cliente. Ele crasha é na parte do cliente, porque é a window onde está o cliente que crasha e não a do servidor. :thumbsup:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Weasel    3
Weasel

Boas, estou com um problema. Estou a criar um programa que serve de servidor e cliente, ou seja, servidor para uns, e também pode aceder a outros como cliente.

O programa é só um...

Mostra o código...ninguém consegue adivinhar, só a Maya

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
scorch    19
scorch

    Private Sub Client_Thread_DoWork()
        Dim tcpClient As New System.Net.Sockets.TcpClient()
        Console.WriteLine("Estabelecendo conexão.")
        tcpClient.Connect("127.0.0.1", porta)

        Dim networkStream As NetworkStream = tcpClient.GetStream()

        If networkStream.CanWrite And networkStream.CanRead Then
            ' executa apenas uma escrita
            Dim sendBytes As [byte]() = Encoding.ASCII.GetBytes("Tem alguém ai?")
            networkStream.Write(sendBytes, 0, sendBytes.Length)

            ' Le o NetworkStream em um buffer
            Dim bytes(tcpClient.ReceiveBufferSize) As Byte
            networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))

            ' exibe os dados recebidos do host no console
            Dim returndata As String = Encoding.ASCII.GetString(bytes)
            'Console.WriteLine(("Host retornou : " + returndata))
            MessageBox.Show("Host retornou : " + returndata)
        Else
            If Not networkStream.CanRead Then
                MessageBox.Show("Não é possível enviar dados para este stream")
                tcpClient.Close()
            Else
                If Not networkStream.CanWrite Then
                    MessageBox.Show("Não é possivel ler dados deste stream")
                    tcpClient.Close()
                End If
            End If
        End If
        ' da uma pausa para pode ver o resultado
        Console.ReadLine()
    End Sub

Encrava nas linhas sombreadas.  :(

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade