public ViewModel() { UsersList = new SausageUserList(); Friends = new Dictionary <string, ObservableCollection <User> >(); Messages = new ObservableCollection <IMessage>(); }
public static void Disconnect(PacketOption?Po = null) { try { if (Socket.Connected) { return; } Socket.Close(); UsersList = new SausageUserList(); Log(new ServerMessage("Disconnected")); } catch (SocketException) { throw new NotImplementedException(); } }
public static void Open() { if (!IsOpen) { MainSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); ConnectedUsers = new ObservableCollection <SausageConnection>(); UsersDictionary = new SausageUserList(); MainSocket.Bind(LocalIp); MainSocket.Listen(10); UiCtx = SynchronizationContext.Current; MainSocket.BeginAccept(OnUserConnect, null); IsOpen = true; UiCtx.Send(x => Vm.Messages.Add(new ServerMessage("Opened server"))); } else { UiCtx.Send(x => Vm.Messages.Add(new ServerMessage("Server already open"))); } }