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

wrproject

Váriavel com espaços a mais

1 mensagem neste tópico

Boas pessoal eu tenho uma aplicação cçiente-servidor.

O cliente quando conecta envia a string "wrproject" para o servidor

O servidor recebe a string e mostra no ecrã.

O problema é que alem do servidor mostrar a a string "wroject" colocas espaçosa mais.

Ja tentei usar o trim() e não funcionou.

Embaixo o codigo do cliente e servidor.

CLIENTE:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Collections;
namespace ClienteTeste
{
    class Program
    {
        static void Main(string[] args)
        {
            IPAddress ip=IPAddress.Parse("127.0.0.1");
            TcpClient cl = new TcpClient();
          
            
            try
            {
                cl.Connect(ip, 500);
                Console.WriteLine("Conectado");
                string s="wrproject";
                byte[] data;
                data = new System.Text.ASCIIEncoding().GetBytes(s);
                Console.WriteLine(data.Length);
                cl.GetStream().Write(data,0,data.Length);
                
            }
            catch (Exception)
            {
                Console.WriteLine("Erro ao conectar");
            }
             
            Console.ReadKey();
        }
    }
}

SERVIDOR:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Collections;
using System.Threading;
namespace ICPServer
{
    class ChatClient
    {

        //cliente
        TcpClient _client;

        //nick
        String nick;

        //lista de utilizadores
        public static Hashtable AllClients = new Hashtable();


        //variavel que servirá para o utilizador enviar ou receber dados
        byte[] data;
        
        //Recber nick
        bool ReceiveNick = true;

        //o ip do cliente
        public string _clientIP;

        public ChatClient(TcpClient client)
        {
            _client = client;

            //get The IP
            _clientIP = _client.Client.RemoteEndPoint.ToString();

            //Add this ip to the hashtable
            AllClients.Add(_clientIP, this);

            //data = new byte[_client.ReceiveBufferSize];
            _client.GetStream();
            data = new byte[_client.ReceiveBufferSize];
            //começa uma leitura assincrona
            _client.GetStream().BeginRead(data, 0, data.Length, ReceiveMessage, null);
        }

        

        //Método assincrono para receber clientes

        public void ReceiveMessage(IAsyncResult ar)
        {

            int bytesRead = 0;
            char[] charsToTrim = {' '};

            try
            {

                lock (_client.GetStream())
                {
                    bytesRead = _client.GetStream().EndRead(ar);
                    //_client.GetStream().Flush();

                }


                //se foram recebidos daos,o servidor irá tratar do processamento dos dados
                if (bytesRead > 0)
                {
                    
                    if(ReceiveNick)
                    {
                        string _tempnick = new System.Text.ASCIIEncoding().GetString(data);
                        string s = _tempnick.Trim();
                    Console.Write(s+" "+s.Length);
                    ReceiveNick = false;
                    //_client.GetStream().Flush();
                    }
                  }


                //continue reading from client
                lock (_client.GetStream())
                {

                    Int32 buffersize = System.Convert.ToInt32(_client.ReceiveBufferSize);
                    _client.GetStream().BeginRead(data, 0, buffersize, ReceiveMessage, null);


                }

            }//fim try
            catch (Exception)
            {
                Console.WriteLine("Cliente disconectou");
            }
            //fim excepção

        }

    }
}

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