/// <summary> /// 添加连接地址 /// </summary> /// <param name="handler">处理实例</param> /// <param name="endPoint">连接地址</param> public SocketChannel AddConnectEndPoint(ISocketHandler handler, IPEndPoint endPoint) { SocketChannel channel = new SocketChannel(null, SocketType.Connect, null, endPoint, handler); channel.Connected += ConnectedEventHandler; return(channel); }
public createMatchViewModel(IEventAggregator events, ISocketHandler socketHandler, IUserData userdata) { _events = events; _socketHandler = socketHandler; this.userdata = userdata; this._socketHandler.onCreateMatch(); }
/// <summary> /// 实例化TCP监听者。 /// </summary> public TCPListener(ISocketHandler handler) { clients = new HashSet <UserToken>(); IsStarted = false; Handler = handler; IsUseAuthenticate = false; }
public FenetreDessinViewModel(IEventAggregator events, ISocketHandler socketHandler, InkCanvas canvas) { _canvas = canvas; // SendPoint = new RelayCommand<object>(sendStrokeAction); this._socketHandler = socketHandler; _events = events; // On écoute pour des changements sur le modèle. Lorsqu'il y en a, EditeurProprieteModifiee est appelée. editeur.PropertyChanged += new PropertyChangedEventHandler(EditeurProprieteModifiee); // On initialise les attributs de dessin avec les valeurs de départ du modèle. AttributsDessin = new DrawingAttributes(); AttributsDessin.Color = (System.Windows.Media.Color)ColorConverter.ConvertFromString(editeur.CouleurSelectionnee); AjusterPointe(); Traits = editeur.traits; // Pour les commandes suivantes, il est toujours possible des les activer. // Donc, aucune vérification de type Peut"Action" à faire. ChoisirPointe = new RelayCommand <string>(editeur.ChoisirPointe); ChoisirOutil = new RelayCommand <string>(editeur.ChoisirOutil); //_socketHandler.getStrokes(Canvas); this.strokes = new Dictionary <Stroke, int>(); this._socketHandler.onDrawing(this.Traits, this.strokes); this._socketHandler.socket.Emit("connect_free_draw"); }
public MainMenuViewModel(IEventAggregator events, ISocketHandler socketHandler, IUserData userdata) { _events = events; _socketHandler = socketHandler; _userdata = userdata; fillAvatars(); }
/// <summary> /// 实例化TCP客户端。 /// </summary> public ClientBase(Socket socket, ISocketHandler socketHandler) { Socket = socket ?? throw new ArgumentNullException("socket"); socket.NoDelay = true; Handler = socketHandler ?? throw new ArgumentNullException("socketHandler"); data = new Dictionary <string, object>(); }
/// <summary> /// Constructor initializes all internal instances, connect all external dependencies /// </summary> /// <param name="_socketHandler">Instance of SocketHabdker type</param> /// <param name="_storage"></param> /// <param name="_storeMessageSender"></param> /// <param name="_lostConnectionSender"></param> /// <param name="_serverStopHandler"></param> public Server(ISocketHandler _socketHandler, IStorage _storage, IStoreMessageSender _storeMessageSender, ILostConnectionSender _lostConnectionSender, IServerStopHandler _serverStopHandler) { IPHostEntry ipHost = Dns.GetHostEntry("localhost"); IPAddress ipAddr = ipHost.AddressList[0]; IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000); listener = new Socket(ipAddr.AddressFamily, SocketType.Stream, ProtocolType.Tcp); listener.Bind(ipEndPoint); listener.Listen(10); storage = _storage; socketHandler = _socketHandler; storeMessageSender = _storeMessageSender; lostConnectionSender = _lostConnectionSender; serverStopHandler = _serverStopHandler; serverStopHandler.Broadcast = BroadcastMessage; lostConnectionSender.Broadcast = BroadcastMessage; stub = new ClientInfo(currentId++, null, null); serverStopHandler.Stub = stub; lostConnectionSender.Stub = stub; bufferSize = listener.ReceiveBufferSize; }
public topMenuViewModel(IEventAggregator events, ISocketHandler socketHandler, IUserData userdata) { _userData = userdata; _events = events; _socketHandler = socketHandler; _events.Subscribe(this); }
public LoginViewModel(IUserData userdata, IEventAggregator events, ISocketHandler socketHandler) { _userdata = userdata; _socketHandler = socketHandler; _events = events; _events.Subscribe(this); }
public SocketConnection(Socket socket, ISocketHandler handler) { buffer = new NetBuffer(); this.buffsize = 2048; this.socket = socket; this.handler = handler; this.processCount = 0; }
public async Task Can_receive_invalid_data_asset_id() { ISocketHandler handler = Substitute.For <ISocketHandler>(); INdmDataPublisher dataPublisher = Substitute.For <INdmDataPublisher>(); NdmWebSocketsClient client = new(nameof(NdmWebSocketsClientTests), handler, dataPublisher, _serializer); await client.ProcessAsync(Encoding.ASCII.GetBytes("a|b|c")); }
/// <summary> /// 实例化TCP客户端。 /// </summary> public TcpClient() { Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); Handler = new SocketHandler(); Data = new Dictionary <string, object>(); DataSender = new SocketDataSender(this); DataReceiver = new SocketDataReceiver(this); }
public async Task Can_receive_data_without_asset_id() { ISocketHandler handler = Substitute.For <ISocketHandler>(); INdmDataPublisher dataPublisher = Substitute.For <INdmDataPublisher>(); NdmWebSocketsClient client = new(nameof(NdmWebSocketsClientTests), handler, dataPublisher, _serializer); await client.ProcessAsync(Encoding.ASCII.GetBytes("|b|c")); dataPublisher.DidNotReceiveWithAnyArgs().Publish(null); }
public async Task Can_receive_data() { ISocketHandler handler = Substitute.For <ISocketHandler>(); INdmDataPublisher dataPublisher = Substitute.For <INdmDataPublisher>(); NdmWebSocketsClient client = new(nameof(NdmWebSocketsClientTests), handler, dataPublisher, _serializer); await client.ProcessAsync(Encoding.ASCII.GetBytes($"{Keccak.Zero.Bytes.ToHexString(false)}|b|c")); dataPublisher.Received().Publish(Arg.Is <DataAssetData>(dad => dad.Data == "c" && dad.AssetId == Keccak.Zero)); }
public async Task Can_receive_null_or_empty_data() { ISocketHandler handler = Substitute.For <ISocketHandler>(); INdmDataPublisher dataPublisher = Substitute.For <INdmDataPublisher>(); NdmWebSocketsClient client = new(nameof(NdmWebSocketsClientTests), handler, dataPublisher, _serializer); await client.ProcessAsync(null); await client.ProcessAsync(Array.Empty <byte>()); }
/// <summary> /// Initialises a new instance of the <see cref="AK.F1.Timing.Server.TcpServer"/> class. /// </summary> /// <param name="endpoint">The remote end point to listen on.</param> /// <param name="handler">The client connection handler.</param> /// <param name="backlog">The accept connection backlog.</param> /// <exception cref="System.ArgumentNullException"> /// Thrown when <paramref name="endpoint"/> or <paramref name="handler"/> is <see langword="null"/>. /// </exception> /// <exception cref="System.ArgumentOutOfRangeException"> /// Thrown when <paramref name="backlog"/> is not positive. /// </exception> public TcpServer(IPEndPoint endpoint, ISocketHandler handler, int backlog = 50) { Guard.NotNull(endpoint, "endpoint"); Guard.NotNull(handler, "handler"); Guard.InRange(backlog > 0, "backlog"); _endpoint = endpoint; _handler = handler; _connectionBacklog = backlog; }
/// <summary> /// 添加tcp监听端口 /// </summary> /// <param name="handler">处理实例</param> /// <param name="port">监听端口</param> public SocketChannel AddListenEndPoint(ISocketHandler handler, int port) { SocketChannel channel = new SocketChannel(null, SocketType.Listen, new IPEndPoint(IPAddress.Any, port), null, handler); if (channel.Socket != null) { channel.Accepted += AcceptedEventHandler; _sockets[channel.Socket.Handle.ToInt32()] = channel; } return(channel); }
public LeaderboardViewModel(IEventAggregator events, ISocketHandler socketHandler) { _soloPos = new BindableCollection <Ranking>(); _vs1Pos = new BindableCollection <Ranking>(); _inversedPos = new BindableCollection <Ranking>(); _coopPos = new BindableCollection <Ranking>(); _solo2Pos = new BindableCollection <Ranking>(); _socketHandler = socketHandler; _events = events; }
/// <summary> /// 添加udp绑定端口 /// </summary> /// <param name="handler">处理实例</param> /// <returns>udp客户端套接字</returns> public SocketChannel AddUdpClient(ISocketHandler handler) { IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Any, 0); SocketChannel channel = new SocketChannel(null, SocketType.Udp_Client, localEndPoint, null, handler); if (channel.Socket != null) { _sockets[channel.Socket.Handle.ToInt32()] = channel; } return(channel); }
public void Forwards_messages_to_ws_handler() { ISocketHandler _handler = Substitute.For <ISocketHandler>(); INdmDataPublisher dataPublisher = Substitute.For <INdmDataPublisher>(); NdmWebSocketsClient client = new(nameof(NdmWebSocketsClientTests), _handler, dataPublisher, _serializer); SocketsMessage message = new("type", nameof(NdmWebSocketsClientTests), "data"); client.SendAsync(message); _handler.Received().SendRawAsync(Arg.Any <ArraySegment <byte> >()); }
public ShellViewModel(IWindowManager windowManager, IEventAggregator events, SimpleContainer container, ISocketHandler socketHandler) { _windowManager = windowManager; _container = container; _events = events; _events.Subscribe(this); _firstVM = _container.GetInstance <LoginViewModel>(); _secondVM = _container.GetInstance <EmptyViewModel>(); _topmenuVM = _container.GetInstance <topMenuViewModel>(); this._socketHandler = socketHandler; _countHelper = 0; }
public NewUserViewModel(IUserData userdata, IEventAggregator events, ISocketHandler socketHandler) { _userData = userdata; _events = events; _events.Subscribe(this); _socketHandler = socketHandler; _avatars = new BindableCollection <Avatar>(); fillAvatars(); _selectedAvatarIndex = 0; nbAvatars = avatars.Count(); //_events.PublishOnUIThread(new signUpEvent()); }
public ClassementViewModel(IEventAggregator events, ISocketHandler socketHandler, IUserData userdata) { // getFakeScores(); _socketHandler = socketHandler; _events = events; this.userdata = userdata; this.ranking = new Ranking("", 0, 0); this.rankings = new BindableCollection <Ranking>(); this.mode = 0; this.update(this.mode); }
public partieJeuViewModel(IEventAggregator events, ISocketHandler socketHandler, IUserData userdata) { now = DateTime.Now.ToString(); editeur.PropertyChanged += new PropertyChangedEventHandler(EditeurProprieteModifiee); _events = events; _events.Unsubscribe(this); _events.Subscribe(this); _socketHandler = socketHandler; _userData = userdata; messages = userdata.messages; _guessFeedBackSource = ""; _guessFeedBackText = ""; _winnerMessage = ""; _timer = new DispatcherTimer(); _wordChoices = new BindableCollection <dynamic>(); _turnScores = new BindableCollection <dynamic>(); _matchScores = new BindableCollection <dynamic>(); this.canDraw = false; // _roundDuration = 30; this.Traits = editeur.traits; this.strokes = new Dictionary <Stroke, int>(); _timerContent = 0; _selectWordCommand = new selectWordCommand(events); // fillAvatars(); startTimer(); _timer.Stop(); /* ----------------------------------- Drawing editor declarations -----------------------------------------------*/ // On écoute pour des changements sur le modèle. Lorsqu'il y en a, EditeurProprieteModifiee est appelée. editeur.PropertyChanged += new PropertyChangedEventHandler(EditeurProprieteModifiee); // On initialise les attributs de dessin avec les valeurs de départ du modèle. AttributsDessin = new DrawingAttributes(); AttributsDessin.Color = (System.Windows.Media.Color)ColorConverter.ConvertFromString(editeur.CouleurSelectionnee); AjusterPointe(); Traits = editeur.traits; this.strokes = new Dictionary <Stroke, int>(); // Pour les commandes suivantes, il est toujours possible des les activer. // Donc, aucune vérification de type Peut"Action" à faire. ChoisirPointe = new RelayCommand <string>(editeur.ChoisirPointe); ChoisirOutil = new RelayCommand <string>(editeur.ChoisirOutil); this.guessesLeft = new GuessesLeft(0, this._userData.matchMode == Models.MatchMode.sprintSolo || this._userData.matchMode == Models.MatchMode.sprintCoop); this.HintEnabled = false; this._socketHandler.onDrawing(this.Traits, this.strokes); this.startTurn = new StartTurn("", 0); this.endTurn = new EndTurn(0, new List <string>(), "", new BindableCollection <Player>()); this._socketHandler.offWaitingRoom(); this._socketHandler.onMatch(this.startTurn, this.endTurn, this.guessesLeft); _countHelper = 0; }
/// <summary> /// 实例化TCP客户端。 /// </summary> public SocketBase(Socket socket, ISocketHandler socketHandler) { if (socket == null) { throw new ArgumentNullException("socket"); } if (socketHandler == null) { throw new ArgumentNullException("socketHandler"); } Socket = socket; Handler = socketHandler; }
/// <summary> /// 注册Socket处理器 /// </summary> /// <param name="id"></param> /// <param name="socketHandler"></param> /// <returns></returns> public SocketClient RegisterSocket(string id, ISocketHandler socketHandler) { SocketClient socketClient; if (_socketClientDict.TryGetValue(id, out socketClient)) { App.logManager.Warn("SocketManager.RegisterSocket Warn:Socket \"" + id + "\" has already registered!"); socketClient.SocketHandler = socketHandler; return(socketClient); } socketClient = _socketClientDict[id] = new SocketClient(socketHandler); return(socketClient); }
public ChoseGameViewModel(IEventAggregator events, ISocketHandler socketHandler, IUserData userdata) { _events = events; _addClicked = false; _events.Subscribe(this); this.userdata = userdata; _socketHandler = socketHandler; this.clicked = false; this.index = 0; this.filteredMatches = new BindableCollection <Match>(); this.matches = new BindableCollection <Match>(); this._socketHandler.onLobby(this.matches); this._socketHandler.socket.Emit("get_matches"); }
public profileViewModel(IUserData userdata, IEventAggregator events, ISocketHandler socketHandler) { _userData = userdata; _events = events; _events.Subscribe(this); _socketHandler = socketHandler; this.statsClient = JsonConvert.DeserializeObject <StatsClient>(this._socketHandler.TestGETWebRequest("/profile/stats/" + this._userData.userName).ToString()); _avatars = new BindableCollection <Avatar>(); fillAvatars(); nbAvatars = _avatars.Count(); _selectedAvatarIndex = 0; _initialPP = JsonConvert.DeserializeObject <PrivateProfile>(socketHandler.TestGETWebRequest("/profile/private/" + userdata.userName).ToString()); _newlPP = new PrivateProfile(_initialPP.firstname, _initialPP.firstname, _initialPP.lastname, _initialPP.password, _initialPP.avatar); }
/// <summary> /// 实例化SocketBase /// </summary> /// <param name="socket">Socket</param> /// <param name="handler">Hander</param> public SocketBase(Socket socket, ISocketHandler handler) { if (socket == null) { throw new ArgumentNullException("socket"); } if (handler == null) { throw new ArgumentNullException("handler"); } Socket = socket; Socket.NoDelay = true; Hander = handler; }
/// <summary> /// 实例化TCP客户端。 /// </summary> public SocketBase(Socket socket, ISocketHandler socketHandler) { if (socket == null) { throw new ArgumentNullException("socket"); } if (socketHandler == null) { throw new ArgumentNullException("socketHandler"); } Socket = socket; socket.NoDelay = true; Handler = socketHandler; data = new Dictionary <string, object>(); }
public WaitingRoomViewModel(IEventAggregator events, ISocketHandler socketHandler, IUserData userdata) { _events = events; _events.Subscribe(this); _socketHandler = socketHandler; _userData = userdata; userdata.messages = new BindableCollection <Models.Message>(userdata.currentGameRoom.messages); userdata.currentRoomId = userdata.matchId; _events.PublishOnUIThread(new refreshMessagesEvent(userdata.messages, userdata.currentRoomId)); this._messages = userdata.messages; this.players = new BindableCollection <Player>(); this._socketHandler.offLobby(); this._socketHandler.offCreateMatch(); this._socketHandler.onWaitingRoom(this.players); this._socketHandler.socket.Emit("get_players", this._userData.matchId); }
private void DisposeOfHandler() { DisposeOf(_handler); _handler = null; }