示例#1
0
文件: Client.cs 项目: uwrov/teaching
        public static void Main(string[] args)
        {
            Console.WriteLine("[CLIENT] Testing Lidgren-Network-v3...");

            NetPeerConfiguration clientConfig = new NetPeerConfiguration("test");
            clientConfig.EnableMessageType(NetIncomingMessageType.DiscoveryResponse);
            NetClient client = new NetClient(clientConfig);
            client.Start();

            SynchronizationContext.SetSynchronizationContext(new SynchronizationContext());
            client.RegisterReceivedCallback(new SendOrPostCallback(GotMessage));

            Console.WriteLine("IP to connect to: ");
            String ip = Console.ReadLine();

            client.Connect(new System.Net.IPEndPoint(System.Net.IPAddress.Parse(ip), 12345));

            while(true) {
                string msg = Console.ReadLine();

                NetOutgoingMessage sendMsg = client.CreateMessage();
                sendMsg.Write("[CLIENT] " + msg);
                client.SendMessage(sendMsg, NetDeliveryMethod.ReliableOrdered);
            }
        }
示例#2
0
 public NetworkClient(string Host, int Port)
 {
     Config = new NetPeerConfiguration("GameServer01");
     ClientConnection = new NetClient(Config);
     ClientConnection.Start();
     ClientConnection.Connect(Host, Port);
 }
示例#3
0
        public void SetUpConnection()
        {
            configuration = new NetPeerConfiguration("PingPong");

            configuration.EnableMessageType(NetIncomingMessageType.WarningMessage);
            configuration.EnableMessageType(NetIncomingMessageType.VerboseDebugMessage);
            configuration.EnableMessageType(NetIncomingMessageType.ErrorMessage);
            configuration.EnableMessageType(NetIncomingMessageType.Error);
            configuration.EnableMessageType(NetIncomingMessageType.DebugMessage);
            configuration.EnableMessageType(NetIncomingMessageType.ConnectionApproval);
            configuration.EnableMessageType(NetIncomingMessageType.Data);

            switch (networkRole)
            {
                case GamerNetworkType.Client:
                    Client = new NetClient(configuration);
                    Client.Start();
                    Client.Connect(new IPEndPoint(NetUtility.Resolve(IP), Convert.ToInt32(Port)));
                    break;
                case GamerNetworkType.Server:
                    configuration.Port = Convert.ToInt32(Port);
                    Server = new NetServer(configuration);
                    Server.Start();
                    break;
                default:
                    throw new ArgumentException("Network type was not set");
            }
        }
示例#4
0
        public Boolean Connect()
        {
            var result = true;

            if (nethandler == null || netaddress == null || netport == 0)
            {
                result = false;
            }
            else
            {
                if (netconn == null)
                {
                    netconfig = new NetPeerConfiguration("AuthServer");
                    netconn   = new Lidgren.Network.NetClient(netconfig);
                    netconn.RegisterReceivedCallback(new SendOrPostCallback(nethandler), new SynchronizationContext());
                }
                try {
                    netconn.Start();
                    var hail = netconn.CreateMessage("Coming in hot!");
                    var conn = netconn.Connect(netaddress, netport, hail);
                    result = true;
                } catch {
                    result = false;
                }
            }
            return(result);
        }
示例#5
0
文件: Client.cs 项目: uwrov/teaching
        public static void Main(string[] args)
        {
            Console.WriteLine("[CLIENT] Testing Lidgren-Network-v3...");

            NetPeerConfiguration clientConfig = new NetPeerConfiguration("test");
            clientConfig.EnableMessageType(NetIncomingMessageType.DiscoveryResponse);
            NetClient client = new NetClient(clientConfig);
            client.Start();

            Console.WriteLine("IP to connect to: ");
            String ip = Console.ReadLine();
            client.Connect("192.168.1.2", 80);

            while (true)
            {
                if (client.ServerConnection != null)
                {
                    string msg = Console.ReadLine();

                    NetOutgoingMessage sendMsg = client.CreateMessage();
                    sendMsg.Write(msg);
                    client.SendMessage(sendMsg, NetDeliveryMethod.ReliableOrdered);
                }
            }
        }
示例#6
0
        public static void Connect(IPEndPoint endpoint, MMDevice device, ICodec codec)
        {
            var config = new NetPeerConfiguration("airgap");

            _client = new NetClient(config);
            _client.RegisterReceivedCallback(MessageReceived);

            _client.Start();

            _waveIn = new WasapiLoopbackCapture(device);
            _codec = codec;

            _sourceFormat = _waveIn.WaveFormat;
            _targetFormat = new WaveFormat(_codec.SampleRate, _codec.Channels); // format to convert to

            _waveIn.DataAvailable += SendData;
            _waveIn.RecordingStopped += (sender, args) => Console.WriteLine("Stopped");
            // TODO: RecordingStopped is called when you change the audio device settings, should recover from that

            NetOutgoingMessage formatMsg = _client.CreateMessage();
            formatMsg.Write(_targetFormat.Channels);
            formatMsg.Write(_targetFormat.SampleRate);
            formatMsg.Write(codec.Name);

            _client.Connect(endpoint, formatMsg);
        }
示例#7
0
        public void InitClients(int netClientcount)
        {
            m_NetClientCount = netClientcount;
            Nets = new NetClient[m_NetClientCount];
            TextNetMsgS = new string[m_NetClientCount];
            m_lastSent = new double[m_NetClientCount];
            TextNetMsgSB = new StringBuilder();
            System.Net.IPAddress mask = null;
            System.Net.IPAddress local = NetUtility.GetMyAddress(out mask);
            //
            for (int i = 0; i < Nets.Length; i++) {
                NetPeerConfiguration config = new NetPeerConfiguration("many");

                config.LocalAddress = local;
            #if DEBUG
            config.SimulatedLoss = 0.02f;
            #endif
                NetClient Net = new NetClient(config);
                Nets[i] = Net;
                Net.Start();
                //Net.Connect("localhost", 14242);
                Net.Connect(new System.Net.IPEndPoint(config.LocalAddress, 14242));
                //
                Application.DoEvents();
            }
        }
示例#8
0
 private void SetupClient()
 {
     NetPeerConfiguration config = new NetPeerConfiguration("dystopia");
     Client = new NetClient(config);
     Client.Start();
     Client.Connect(NetUtility.Resolve(ServerIP, ServerPort));
 }
        /// <summary>
        ///     Server constructor, starts the server and connects to all region servers.
        /// </summary>
        /// <remarks>
        ///     TODO: Make the config file be able to be in a different location. Load from command line.
        /// </remarks>
        public MasterServer()
        {
            //Load this region server's junk from xml
            XmlSerializer deserializer = new XmlSerializer(typeof(MasterConfig));
            MasterConfig masterconfig = (MasterConfig)deserializer.Deserialize(XmlReader.Create(@"C:\Users\Addie\Programming\Mobius\Mobius.Server.MasterServer\bin\Release\MasterData.xml"));
            //Start it with the name MobiusMasterServer, and let connection approvals be enabled
            var config = new NetPeerConfiguration(masterconfig.ServerName);
            config.Port = masterconfig.ServerPort;
            config.MaximumConnections = masterconfig.MaxConnections;
            config.EnableMessageType(NetIncomingMessageType.ConnectionApproval);
            LidgrenServer = new NetServer(config);

            RegionServers = new Dictionary<ushort, NetClient>();
            foreach(RegionInfo info in masterconfig.RegionServers)
            {
                NetClient region = new NetClient(new NetPeerConfiguration(info.ServerName));
                region.Start();
                region.Connect(info.ServerIp, info.ServerPort);
                RegionServers.Add(info.RegionId, region);
            }

            //Initialize our data structures
            Users = new Dictionary<Guid, User>();
            UserIdToCharacters = new Dictionary<Guid, List<Character>>();
            //Start the server
            LidgrenServer.Start();
        }
 private void button1_Click(object sender, EventArgs e)
 {
     var config = new NetPeerConfiguration("Chat_lobby");
     client = new NetClient(config);
     client.RegisterReceivedCallback(new SendOrPostCallback(GotMessage));
     client.Start();
     client.Connect("localhost", 12345);
 }
示例#11
0
		public Client()
		{
			NetPeerConfiguration config = new NetPeerConfiguration( "Client" );
			config.Port = 14242;

			instance = new NetClient( config );

			instance.Connect("192.168.1.1", 14242);
		}
示例#12
0
        public void Connect(string ip, int port)
        {
            var config = new NetPeerConfiguration("HORSEGLUERTS");
            client = new NetClient(config);
            client.Start();
            client.Connect(ip, port);

            //networkThread = new Thread(netThreadLoop);
            //networkThread.Start();
        }
示例#13
0
        public long Connect(string host, ushort port)
        {
            var netClient = new Lidgren.Network.NetClient(_peerConfig);

            netClient.Start();
            _clients.Add(netClient.UniqueIdentifier, netClient);
            var conn = netClient.Connect(host, port);

            return(netClient.UniqueIdentifier);
        }
 public int Initialize(List<BaseUnit> VecUnits, Map map)
 {
     config = new NetPeerConfiguration("StarKampf");
     client = new NetClient(config);
     client.Start();
     client.Connect(host: "127.0.0.1", port: 12345);
     side = 0; //  later somebody need make ini side in moment connecting to the server // later means never // это типа комментарий к комментарию, ну вы поняли да?)
     outMsg = client.CreateMessage();
     unitsManager = new UnitsManager(VecUnits, map);
     return side;
 }
示例#15
0
 public Game1()
 {
     objlist = new List<ProxyObj>();
     conf = new NetPeerConfiguration("Litrpg");
     client = new NetClient(conf);
     client.Start();
     client.Connect("127.0.0.1", 5410);
     texmap = new Dictionary<string, Texture2D>();
     graphics = new GraphicsDeviceManager(this);
     Content.RootDirectory = "Content";
 }
示例#16
0
        public void Connect(string ip)
        {
            // Create client with config and tell it to start then connect to the given IP.
            NetClient client = new NetClient(Config);
            client.Start();
            client.Connect(ip, 25000);

            Peer = client;

            Console.WriteLine("Client has started.");
        }
 public int Initialize(ref List<BaseUnit> VecUnits, Map map)
 {
     config = new NetPeerConfiguration("StarKampf");
     client = new NetClient(config);
     client.Start();
     client.Connect(host: "127.0.0.1", port: 12345);
     outMsg = client.CreateMessage();
     this.VecUnits = VecUnits;
     unitsManager = new UnitsManager(ref VecUnits, map);
     OutComingCommandAboutIni = string.Empty;
     return side;
 }
示例#18
0
        public Client()
        {
            InitializeComponent();

            NetPeerConfiguration config = new NetPeerConfiguration("many");
            #if DEBUG
            config.SimulatedLoss = 0.02f;
            #endif
            Net = new NetClient(config);
            Net.Start();
            Net.Connect("localhost", 14242);
        }
示例#19
0
 public NetworkWorld(DystopiaUI.States.IngameShipState _parent)
 {
     Parent = _parent;
     NetPeerConfiguration config = new NetPeerConfiguration("hybrid");
     Clie = new NetClient(config);
     Clie.Start();
     Clie.Connect("162.208.49.10", 28000);
     //sClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
     //Reader = new StreamReader(new NetworkStream(sClient, false));
     //Writer = new StreamWriter(new NetworkStream(sClient, true));
     //Writer.AutoFlush = true;
 }
示例#20
0
        public static void Initialize(string ip)
        {
            client = new NetClient(new NetPeerConfiguration("Fireworks")
                                       {
                                           AcceptIncomingConnections = false,
                                           ConnectionTimeout = 5
                                       });

            client.Start();
            client.Connect(ip, 7007);

            new Thread(ListenForData).Start();
        }
示例#21
0
文件: Program.cs 项目: libjared/jaunt
        private static void Initialize()
        {
            NetPeerConfiguration config = new NetPeerConfiguration("jaunt");
            config.EnableMessageType(NetIncomingMessageType.ConnectionLatencyUpdated);
            string ip = "giga.krash.net"; //Jared's IP
            int port = 12345;
            client = new NetClient(config);
            client.Start();
            client.Connect(ip, port);


            clientPlayer = new Player(100, 100, -1); //Create the client's player
        }
示例#22
0
        public void Run()
        {
            // Client initialization
            config = new NetPeerConfiguration("stryferpg");
            client = new NetClient(config);
            client.Start();
            client.Connect("localhost", 1234);

            handler = new LoginMessageHandler();

            // Messages receipt
            NetIncomingMessage message;
            while (!stop)
            {
                while ((message = client.ReadMessage()) != null)
                {
                    switch (message.MessageType)
                    {
                        case NetIncomingMessageType.Data:
                            SROrderMessage msg = NetworkSerializer.DeserializeObject<SROrderMessage>(message.ReadBytes(message.LengthBytes));
                            handler.Handle(msg);
                            break;

                        case NetIncomingMessageType.StatusChanged:
                            switch (message.SenderConnection.Status)
                            {
                                case NetConnectionStatus.Connected:
                                    Console.WriteLine("Connected");
                                    Console.WriteLine("Asking for server list...");

                                    SRActionMessage action = new SRActionMessage(ActionType.GetServerList, ServiceType.Login);
                                    SendMessage(action);
                                    break;
                            }

                            break;

                        case NetIncomingMessageType.DebugMessage:
                            Console.WriteLine(message.ReadString());
                            break;

                        default:
                            Console.WriteLine("unhandled message with type: "
                                + message.MessageType);
                            break;
                    }
                }
                
                Thread.Sleep(1);
            }
        }
示例#23
0
        public LinesClient(bool isLANGame)
        {
            this.isLANGame = isLANGame;

            config = NetworkGlobals.GetConfig();
            client = new NetClient(config);

            tickTime = 1f;

            client.Start();
            if (!isLANGame) {
                connection = client.Connect(NetworkGlobals.IP, NetworkGlobals.Port);
            }
        }
示例#24
0
文件: Program.cs 项目: JueZ/ITP
        public static void ConnectPlayerToLobby(string playername, Color playercolor)
        {
            NetPeerConfiguration config = new NetPeerConfiguration("chat");
            config.AutoFlushSendQueue = false;
            s_client = new NetClient(config);

            s_client.RegisterReceivedCallback(new SendOrPostCallback(LobbyForm.GotMessage));

            string hailmessage = guid.ToString() + ";" + playername + ";" + Convert.ToString(playercolor.ToArgb());

            s_client.Start();
            NetOutgoingMessage hail = s_client.CreateMessage(hailmessage);
            s_client.Connect(settings.ServerAdresse, settings.ChatPort, hail);
        }
示例#25
0
        public static void ServerDiscoveredHandler(NetClient client, NetBuffer buffer)
        {
            System.Net.IPEndPoint buffer_copier = buffer.ReadIPEndPoint();

            //Just connect to the first server we find
            Console.WriteLine("Client: Connecting to server: " + buffer_copier.ToString());

            //Let server know the type of IOS client connecting
            NetBuffer buf = client.CreateBuffer();
            buf.Write("Master");

            //Connect
            client.Connect(buffer_copier, buf.ToArray());
        }
示例#26
0
文件: Client.cs 项目: Choochoo/Ship
        public void SetupClient(string gameName, string ip = "127.0.0.1", int port = 14242)
        {
            // Create new client, with previously created configs
            var config = new NetPeerConfiguration(gameName);
            _listOfOtherPlayers = new List<HeroEntity>();
            _client = new NetClient(config);
            _client.Start();

            // Connect client, to ip previously requested from user
            var outmsg = _client.CreateMessage();
            outmsg.Write(PacketType.Login);
            outmsg.WriteAllProperties(MainGame.MyHero.MyLoginInfo);
            _client.Connect(ip, port, outmsg);
        }
 public bool Start()
 {
     var random = new Random(); 
     _client = new NetClient(new NetPeerConfiguration("networkGame"));
     _client.Start();
     Username = "******" + random.Next(0, 100);
     GroupId = "test";
     var outmsg = _client.CreateMessage();
     outmsg.Write(GroupId);
     outmsg.Write((byte)PacketType.Login);
     outmsg.Write(Username);
     _client.Connect("localhost", 14241, outmsg);
     return EsablishInfo(); 
 }
示例#28
0
		static void Main(string[] args)
		{
			var config = new NetPeerConfiguration("enctest");
			var client = new NetClient(config);
			client.Start();

			System.Threading.Thread.Sleep(100); // give server time to start up

			client.Connect("localhost", 14242);

			var encryption = new NetAESEncryption(client, "Hallonpalt");

			// loop forever
			while (true)
			{
				// read messages
				var inc = client.ReadMessage();
				if (inc != null)
				{
					switch (inc.MessageType)
					{
						case NetIncomingMessageType.DebugMessage:
						case NetIncomingMessageType.WarningMessage:
						case NetIncomingMessageType.VerboseDebugMessage:
						case NetIncomingMessageType.ErrorMessage:
							Console.WriteLine(inc.ReadString());
							break;
						case NetIncomingMessageType.StatusChanged:
							var status = (NetConnectionStatus)inc.ReadByte();
							Console.WriteLine(inc.SenderConnection + " (" + status + ") " + inc.ReadString());
							break;
					}
				}

				// if we're connected, get input and send
				if (client.ServerConnection != null && client.ServerConnection.Status == NetConnectionStatus.Connected)
				{
					Console.WriteLine("Type a message:");
					var input = Console.ReadLine();

					var msg = client.CreateMessage();
					msg.Write(input);
					encryption.Encrypt(msg);

					var ok = client.SendMessage(msg, NetDeliveryMethod.ReliableOrdered);
					Console.WriteLine("Message sent: " + ok);
				}
			}
		}
示例#29
0
文件: Program.cs 项目: JueZ/ITP
        public static void ConnectToServer()
        {
            NetPeerConfiguration netconfig = new NetPeerConfiguration("game");

            netclient = new NetClient(netconfig);

            if (SynchronizationContext.Current == null)
                SynchronizationContext.SetSynchronizationContext(new SynchronizationContext());

            netclient.RegisterReceivedCallback(new SendOrPostCallback(ReceivedData));
            netclient.Start();

            NetOutgoingMessage message = netclient.CreateMessage("Connect");
            netclient.Connect(settings.ServerAdresse, settings.GamePort, message);
        }
 public NetClient connectToServer(string ip, int port, string appname, int playernr, int entityID)
 {
     NetPeerConfiguration npc = new NetPeerConfiguration(appname);
     NetClient n = new NetClient(npc);
     n.Connect(ip, port);
     Debug.Log("Connected succesfully!");
     NetOutgoingMessage mess = n.CreateMessage();
     mess.Write(playernr);
     NetOutgoingMessage nm = n.CreateMessage();
     nm.Write(entityID);
     n.SendMessage(mess, NetDeliveryMethod.ReliableOrdered);
     n.SendMessage(nm, NetDeliveryMethod.ReliableOrdered);
     Debug.Log("Cleared identity with server!");
     return n;
 }
示例#31
0
        static List<Player> players; //This will hold all players info from server

        #endregion Fields

        #region Methods

        static void Main(string[] args)
        {
            SynchronizationContext.SetSynchronizationContext(new SynchronizationContext());
            players = new List<Player>();
            Config = new NetPeerConfiguration("DND Server");//APP ID
            Console.WriteLine("Created Client Configuration.");
               // Config.Port = _SERVERPORT;
            Client = new NetClient(Config);
            Console.WriteLine("Initialized client socket");
            Client.RegisterReceivedCallback(new SendOrPostCallback(RecieveData));
            //Register the recieve callback.  Better if its before when the socket starts
            Client.Start();//start the socket
            Console.WriteLine("started the client socket");
            Client.Connect("localhost", _SERVERPORT);//connect the client to the server
            Console.WriteLine("Requesting Connection to server");
            //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            //An example input manager to get respont on console
            new Thread(new ThreadStart(delegate
            {
                string input;

                while ((input = Console.ReadLine()) != null)
                {
                    Console.WriteLine("Console input.");
                    string[] prms = input.Split(' ');//params for the input

                    switch (prms[0])//The first param is the command name
                    {
                        case "/changename":
                            //TODO: add code later
                            break;
                        case "/say":
                            NetOutgoingMessage outmsg;
                            outmsg = Client.CreateMessage();
                            outmsg.Write((byte)Headers.Chat);
                            string Message = "";
                            for(int i = 1; i < prms.Length; i++)
                                Message += prms[i] + " ";
                            Message += "\n";
                            outmsg.Write(Message);
                            Client.SendMessage(outmsg, NetDeliveryMethod.ReliableOrdered);
                                break;
                    }

                }
            })).Start();
            //END INPUT MANAGEMENT
        }
        public override void Start()
        {
            if (m_peer != null)
            {
                throw new InvalidOperationException("Client already running");
            }

            NetPeerConfiguration config = new NetPeerConfiguration(m_name);

            m_peer = new NetClient(config);
            m_peer.Start();

            NetOutgoingMessage hailMessage = m_peer.CreateMessage();
            hailMessage.Write(CVars.name.value);
            m_peer.Connect(m_remoteEndPoint, hailMessage);
        }