| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- using System;
- using System.ComponentModel.Composition;
- using System.Windows.Threading;
- using ELog;
- using Microsoft.Practices.Prism.Events;
- using Microsoft.Practices.Prism.ViewModel;
- using ENet;
- namespace Modules.Robot
- {
- [Export(contractType: typeof (RobotViewModel)), PartCreationPolicy(creationPolicy: CreationPolicy.NonShared)]
- internal class RobotViewModel : NotificationObject
- {
- private Host host;
- private string logText = "";
- private IEventAggregator eventAggregator = new EventAggregator();
- private readonly DispatcherTimer timer = new DispatcherTimer(DispatcherPriority.Normal)
- {
- Interval = new TimeSpan(0, 0, 0, 0, 50)
- };
- public string LogText
- {
- get
- {
- return this.logText;
- }
- set
- {
- if (this.logText == value)
- {
- return;
- }
- this.logText = value;
- this.RaisePropertyChanged("LogText");
- }
- }
- public RobotViewModel()
- {
- Library.Initialize();
- host = new Host(8888, Native.ENET_PROTOCOL_MAXIMUM_PEER_ID);
- timer.Tick += delegate { this.host.Run(); };
- timer.Start();
- }
- public async void StartClient()
- {
- try
- {
- Peer peer = await host.ConnectAsync(new Address { Host = "192.168.10.246", Port = 8901 }, 2, 0);
- Log.Debug("peer data: " + peer.Data);
- }
- catch (ENetException e)
- {
- Log.Debug(e.Message);
- }
- }
- public void Start()
- {
- for (int i = 0; i < 4095; ++i)
- {
- StartClient();
- }
- }
- }
- }
|