elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  [Tutorial] Sockets en C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: [Tutorial] Sockets en C#  (Leído 163,972 veces)
Hendrix
In The Kernel Land
Colaborador
***
Desconectado Desconectado

Mensajes: 2.276



Ver Perfil WWW
Re: [Tutorial] Sockets en C#
« Respuesta #10 en: 9 Enero 2008, 15:51 pm »

No lo tengo ya que formatee...pero es simplemente agregar ese codigo al que de ta por defecto el IDE del C#.


En línea

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
lokidelinfierno

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: [Tutorial] Sockets en C#
« Respuesta #11 en: 29 Mayo 2008, 22:34 pm »

hendri me podrias decir como puedo aplicar sokets en los formularios de windows, q simplemente no lo cacho bien a los codigos, ay porfa si me puedes brindar un codigo con un ejemplo sencillo para resivir un mensaje en un label(o lo q cayga) desde otra pc q envia el mensaje de una text box :laugh:


En línea

Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Re: [Tutorial] Sockets en C#
« Respuesta #12 en: 18 Marzo 2009, 01:21 am »

Hola:

Tengo la idea de hacer dos programas en cada PC controlado mediante Internet y puerto serie.

1- EL PC1 hago la Interfaz de control para controlar por vía Internet mediante button (botones) el otro programa del PC que ahí está el PIC16F84A.

2- El PC2 tiene otro programa o Interfaz que puede controlar el puerto serie donde está conectado el PIC. Se controla como puedes ver en este vídeo...

http://www.youtube.com/watch?v=niWAbQ-HVnY

...con la diferencia que yo lo quiero hacer mediante control por IP y que ustedes sean capaces de controlarlo desde sus casas mientras ves como se mueve una webcam por poner un ejemplo.

Ahora la pregunta. ¿Con Visual C# se puede hacer esto?

Aquí hay un ejemplo directo de una Interfaz básico con su código fuente, conectado al puerto serie. En realidad esta Interfaz no tiene que ir con el puerto serie, sólo la conexión a Internet mediante una IP que debemos conocer para poder llegar al PC2 que si se puede conectar al puerto serie.

Las órdenes a enviar al PC2 para el puerto serie es algo parecido a esto.

Código
  1.            byte[] mBuffer = new byte[1];  
  2.            mBuffer[0] = 0x20; //ASCII letra "Espacio".  
  3.            serialPort1.Write(mBuffer, 0, mBuffer.Length);






Necesito información y cómo se programa. Poco a poco lo intentaré, al menos como se envía esta trama de bytes en hex para que lo entienda el PC2 desde el PC1. De momento sigo buscando en www.google.com

¿Sugerencias?

Un cordial saludo.

Fuente:
http://foro.elhacker.net/net/controlar_pc_desde_otro_pc-t248849.0.html
En línea

gemanet

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: [Tutorial] Sockets en C#
« Respuesta #13 en: 14 Julio 2009, 15:30 pm »

te hago una consulta, yo implemente tu rutina de cliente servidor, lo unico que mantengo la conexion al server no la cierro ya que el cliente esta consultando permanentemente.

la cuestion es la siguiente: luego de muchas consultas simultaneas desde varios clientes, la aplicacion deja de recibir peticiones y no encuentro el motivo o causa de este problema. tuviste alguna dificultad en un ambiente de muchas pc's consultando simultaneamente?
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Tutorial] Sockets en C#
« Respuesta #14 en: 14 Julio 2009, 16:42 pm »

Aquí tienes, intenta cambiando el método de conexión por uno asyncrono  ;)

:http://www.codeguru.com/csharp/csharp/cs_network/sockets/article.php/c7695
:http://www.csharphelp.com/archives3/archive486.html

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: [Tutorial] Sockets en C#
« Respuesta #15 en: 8 Septiembre 2009, 15:30 pm »

El código completo quedaría algo así:

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Net;
  6. using System.Net.Sockets;
  7.  
  8. namespace Sockets
  9. {
  10.    class Program
  11.    {
  12.        static void Main(string[] args)
  13.        {
  14.            IPAddress direc = Dns.GetHostEntry("localhost").AddressList[0];
  15.            IPEndPoint Ep = new IPEndPoint(direc, 12345);
  16.            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
  17.            socket.Bind(Ep);
  18.            socket.Listen(100);
  19.            Socket handler = socket.Accept();
  20.            byte[] bytes = new byte[1024]; // array 1024 (t.byte)
  21.            int count;
  22.            String data = ""; // datos alm.
  23.            do
  24.            {
  25.                count = handler.Receive(bytes);
  26.                data = System.Text.Encoding.ASCII.GetString(bytes, 0, count);
  27.                if (data != "exit\n")
  28.                {
  29.                    Console.Write("{0}", data);
  30.                }
  31.            } while (data != "exit\n");
  32.            Console.WriteLine("Conexion finalizada");
  33.            byte[] msg = System.Text.Encoding.ASCII.GetBytes("\n\nFinalizada conexion");
  34.            handler.Send(msg);
  35.            handler.Shutdown(SocketShutdown.Both);
  36.            handler.Close();
  37.        }
  38.    }
  39. }
  40.  
En línea

zerow

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: [Tutorial] Sockets en C#
« Respuesta #16 en: 3 Diciembre 2009, 14:12 pm »

Falta lo más importante!!!!!!

En el código de ejemplo no se cierra el socket , dando paso libre a agujeros de seguridad y posibles errores en futuras conexiones!!!


Para ello al final del codigo y dentro de la exception
socket.close();
En línea

Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Re: [Tutorial] Sockets en C#
« Respuesta #17 en: 4 Diciembre 2009, 10:56 am »

Se despistó.
En línea

TheGhost(Z)

Desconectado Desconectado

Mensajes: 230



Ver Perfil
Re: [Tutorial] Sockets en C#
« Respuesta #18 en: 3 Mayo 2010, 15:56 pm »

Hola stoy usando el sSocket con WindosFors de VB.NET
y este es el codigo que recibe datos de un cliente:

 
Código:
Dim TCPListen As New TcpListener(IPAddress.Any, 11000)
        TCPListen.Start()

        While Not TCPListen.Pending()
            Thread.Sleep(5000)
        End While

        Dim TCP As TcpClient = TCPListen.AcceptTcpClient()
        Dim NetStream As NetworkStream = TCP.GetStream()


        Dim i As Int32
        Dim bytes(1024) As Byte
        Dim data As String = ""

        i = NetStream.Read(bytes, 0, bytes.Length)
        While (i <> 0)
            data = System.Text.Encoding.ASCII.GetString(bytes, 0, i)
            i = NetStream.Read(bytes, 0, bytes.Length)
        End While

        MsgBox(data)
        NetStream.Close()
        TCP.Close()
En línea

TomaSs

Desconectado Desconectado

Mensajes: 101



Ver Perfil
Re: [Tutorial] Sockets en C#
« Respuesta #19 en: 28 Julio 2010, 06:31 am »

Alguien de ustedes abría decirme porque me da este error al ejecutar el código???


Gracias por el trabajo Hendrix! ;)
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines