Beispiel #1
0
        public static string EnviaDados(IComunicacao Mensagem, string IP, int Porta = 27525)
        {
            TcpClient clientSocket = new TcpClient();

            clientSocket.ReceiveBufferSize = 1000;
            clientSocket.Connect(IP, Porta);
            string        ObjetoSerializado = ConverterObjeto.SerializaObjeto(Mensagem);
            NetworkStream serverStream      = clientSocket.GetStream();

            byte[] outStream = System.Text.Encoding.ASCII.GetBytes(ObjetoSerializado);
            serverStream.Write(outStream, 0, outStream.Length);
            serverStream.Flush();
            byte[] inStream = new byte[1000];
            serverStream.Read(inStream, 0, (int)clientSocket.ReceiveBufferSize);
            string returndata = System.Text.Encoding.ASCII.GetString(inStream);

            returndata = returndata.Substring(0, returndata.IndexOf("\0"));
            clientSocket.Close();
            return(returndata);
        }
Beispiel #2
0
        private void IniciarServidor(int Porta)
        {
            byte[] bytesFrom      = new byte[10000];
            string dataFromClient = null;

            Byte[] sendBytes      = null;
            string serverResponse = null;
            string MeuIP          = Dns.GetHostAddresses(Dns.GetHostName())[0].ToString();

            if (MeuIP == "::1")
            {
                MeuIP = Dns.GetHostAddresses(Dns.GetHostName())[1].ToString();
            }
            TcpListener serverSocket = new TcpListener(IPAddress.Parse(MeuIP), Porta);

            serverSocket.Start();
            int counter = 0;

            while (!ParaServidor)
            {
                counter += 1;
                TcpClient clientSocket = default(TcpClient);
                clientSocket = serverSocket.AcceptTcpClient();
                clientSocket.ReceiveBufferSize = 10000;

                while (!ParaServidor)
                {
                    if (clientSocket.Connected)
                    {
                        if (oServico.NovaMensagemS)
                        {
                            string        ObjetoSerializado = ConverterObjeto.SerializaObjeto(oServico.MensagemS);
                            NetworkStream serverStream      = clientSocket.GetStream();
                            byte[]        outStream         = System.Text.Encoding.ASCII.GetBytes(ObjetoSerializado);
                            serverStream.Write(outStream, 0, outStream.Length);
                            serverStream.Flush();
                            byte[] inStream = new byte[1000];
                            serverStream.Read(inStream, 0, (int)clientSocket.ReceiveBufferSize);
                            string returndata = System.Text.Encoding.ASCII.GetString(inStream);
                            returndata = returndata.Substring(0, returndata.IndexOf("\0"));
                        }
                        if (oServico.NovaMensagemWS)
                        {
                        }
                    }
                    else
                    {
                        break;
                    }
                    //FileStream FS = new FileStream("C:\\Lixo.txt", FileMode.OpenOrCreate);
                    //Byte[] info = ASCIIEncoding.ASCII.GetBytes(str);
                    //FS.Write(info, 0, info.Length);
                    //FS.Close();
                }

                try
                {
                    clientSocket.Close();
                }
                catch (Exception ex) { }
            }
            serverSocket.Stop();
        }