Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: lamique en 18 Diciembre 2012, 18:18 pm



Título: Pregunta Sockets C#
Publicado por: lamique en 18 Diciembre 2012, 18:18 pm
Hola Gente, suelo ser una persona que posteo después de estar 3 días buscando en google, el tema es el siguiente, quiero realizar un servidor, que acepte múltiples clientes (se trata de un juego MMO)Esto no es problema, yo se algo de C++ y vb.net, en el motor que estoy trabajando se llama Unity 4, y yo tengo que pasar el codigo de un cliente a scripts, pero no tengo idea de como hacerlo, lo que pregunto es lo siguiente, como puedo hacer una conexión simple entre un servidor  y el engine Unity, es solo para guiarme, me falta el punto de partida, después de ahi voy probando y jugando con los sockets hasta obtener lo que realmente quiero, me gusta el tema de ir experimentando, pero me falta eso, el impulso, googleando encontre aplicaciones simples de cliente servidor en C# pero, como lo aplicaría al engine, tambien puedo incluir un pluguin(una dll cliente) y llamarla adentro del engine con scripts, bueno espero puedan ayudarme, o me tiren alguna idea, Saludos y Gracias de Antemano

Codigo Cliente (quiero pasarlo a un script, o a una dll, y llamarlo desde unity con un script)
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 TcpClient
  9. {
  10.    class MainClass
  11.    {
  12.        public static void Main(string[] args)
  13.        {
  14.            Console.WriteLine("Abriendo sockets...");
  15.            try
  16.            {
  17.                IPEndPoint ep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1234);
  18.                Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
  19.                socket.Connect(ep);
  20.                Console.WriteLine("Servidor Conectado...");
  21.            }
  22.            catch
  23.            {
  24.                Console.WriteLine("¡Error abriendo sockets!");
  25.                Console.ReadKey();
  26.            }
  27.        }
  28.    }
  29. }
  30.  


Servidor

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 TcpServer
  9. {
  10.        class MainClass
  11.        {
  12.                public static void Main (string[] args)
  13.                {
  14.                        Console.WriteLine ("Abriendo sockets...");
  15.                        try{
  16.                        IPEndPoint ep = new IPEndPoint(IPAddress.Any, 1234);
  17.                        Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
  18.                        socket.Bind(ep);
  19.                        socket.Listen (25);
  20.                                Console.WriteLine ("Esperando conexiones...");
  21.                        socket.Accept();
  22.                                Console.WriteLine ("Nueva conexion detectada...");
  23.                        }catch{
  24.                                Console.WriteLine ("¡Error abriendo sockets!");
  25.                            Console.ReadKey();
  26.                        }
  27.                }
  28.        }
  29. }


Título: Re: Pregunta Sockets C#
Publicado por: Novlucker en 19 Diciembre 2012, 14:26 pm
http://wiki.unity3d.com/index.php?title=Simple_TCP/IP_Client_-_Server

Saludos