public void SendMessageUDP(IBaseEntity entity, IPEndPoint endpoint)
        {
            BaseMessage msg = entity.ToMessage();

            // Don't log KeepAlive messages.
            if (msg.Command != 3)
            {
                log.LogInformation("Send UDP: " + JsonConvert.SerializeObject(msg));
            }

            entity.Id = LocalHubInfo.Id;

            byte[] data = messageSerializer.Serialize(msg);

            try
            {
                if (data != null)
                {
                    UDPClientGateway.Send(data, data.Length, endpoint);
                }
            }
            catch (Exception ex)
            {
                log.LogError("Error on UDP send", ex);
            }
        }
        public void SendMessageTCP(IBaseEntity entity)
        {
            BaseMessage msg = entity.ToMessage();

            // Don't log KeepAlive messages.
            if (msg.Command != 3)
            {
                log.LogInformation("Send TCP: " + JsonConvert.SerializeObject(msg));
            }

            if (TCPClientGateway != null && TCPClientGateway.Connected)
            {
                byte[] data = messageSerializer.Serialize(msg);

                try
                {
                    NetworkStream NetStream = TCPClientGateway.GetStream();
                    NetStream.Write(data, 0, data.Length);
                }
                catch (Exception ex)
                {
                    log.LogError("Error on TCP send", ex);
                }
            }
        }
示例#3
0
        public void SendTCP(IBaseEntity entity, TcpClient client)
        {
            if (client != null && client.Connected)
            {
                byte[] Data = messageSerializer.Serialize(entity.ToMessage());

                NetworkStream NetStream = client.GetStream();
                NetStream.Write(Data, 0, Data.Length);
            }
        }
示例#4
0
        public void SendUDP(IBaseEntity Item, IPEndPoint EP)
        {
            byte[] Bytes = messageSerializer.Serialize(Item.ToMessage());

            udp.Send(Bytes, Bytes.Length, udpEndpoint);
        }