Exemplo n.º 1
0
        private static void ClientRoutine(object clientId)
        {
            try
            {
                using (NetMQContext context = NetMQContext.Create())
                {
                    using (RequestSocket req = context.CreateRequestSocket())
                    {
                        req.Connect("tcp://localhost:5555");

                        byte[] message = Encoding.Unicode.GetBytes(string.Format("{0} Hello", clientId));

                        Console.WriteLine("Client {0} sent \"{0} Hello\"", clientId);
                        req.Send(message, message.Length);

                        bool   hasMore;
                        byte[] response = req.Receive(false, out hasMore);
                        Console.WriteLine("Client {0} received \"{1}\"", clientId, Encoding.Unicode.GetString(response));
                    }
                }
            }
            catch (Exception exc)
            {
                Console.WriteLine("Exception on ClientRoutine: {0}", exc.Message);
            }
        }
Exemplo n.º 2
0
            public TextResponse Request(TextRequest request)
            {
                _socket.Send(Encoding.UTF8.GetBytes(request.Text));
                var bs = _socket.Receive();
                var s  = Encoding.UTF8.GetString(bs);

                return(new TextResponse(s));
            }
Exemplo n.º 3
0
        private static void Main()
        {
            Console.Title = "NetMQ LazyPirate Client";

            using (var context = NetMQContext.Create())
            {
                RequestSocket client = CreateServerSocket(context);

                while (s_retriesLeft > 0)
                {
                    s_sequence++;
                    Console.WriteLine("C: Sending ({0})", s_sequence);
                    client.Send(Encoding.Unicode.GetBytes(s_sequence.ToString()));
                    s_expectReply = true;

                    while (s_expectReply)
                    {
                        bool result = client.Poll(TimeSpan.FromMilliseconds(RequestTimeout));

                        if (result)
                        {
                            continue;
                        }

                        s_retriesLeft--;

                        if (s_retriesLeft == 0)
                        {
                            Console.WriteLine("C: Server seems to be offline, abandoning");
                            break;
                        }

                        Console.WriteLine("C: No response from server, retrying...");

                        TerminateClient(client);

                        client = CreateServerSocket(context);
                        client.Send(Encoding.Unicode.GetBytes(s_sequence.ToString()));
                    }
                }

                TerminateClient(client);
            }
        }
Exemplo n.º 4
0
        protected void Request(String data)
        {
            interaction.Send(Encoding.UTF8.GetBytes(data));
            String reply = Response();

            if (reply != acknowledged)
            {
                throw new Exception("Cannot register: " + reply);
            }
        }
Exemplo n.º 5
0
        public void Connect(Config config, string addr)
        {
            req.Connect(String.Format("ws://{0}:{1}", addr, config.CacherCmdPort));
            sub.Connect(String.Format("ws://{0}:{1}", addr, config.CacherDatPort));
            this.config = config;

            Params.Clear();
            req.Send(PackOne(0, 0));
            // this is blocking, we won't return until server has responded
            var data = req.Receive();

            UnpackToMap(data, config.Params, ref Params);
            // use key 0 to signal everything has changed
            // Alternatively, a event could be emitted for each key but the
            // consideration is it could overload whatever handler for being
            // called too many times. It is conceivable the handle simply will
            // update for all params each time a event is received.
            Changed(this, 0);
        }
Exemplo n.º 6
0
        static void Main(string[] args)
        {
            using (NetMQContext context = NetMQContext.Create())
            {
                RequestSocket client = CreateServerSocket(context);

                while (_retriesLeft > 0)
                {
                    _sequence++;
                    Console.WriteLine("C: Sending ({0})", _sequence);
                    client.Send(Encoding.Unicode.GetBytes(_sequence.ToString()));
                    _expectReply = true;

                    while (_expectReply)
                    {
                        bool result = client.Poll(TimeSpan.FromMilliseconds(REQUEST_TIMEOUT));

                        if (!result)
                        {
                            _retriesLeft--;

                            if (_retriesLeft == 0)
                            {
                                Console.WriteLine("C: Server seems to be offline, abandoning");
                                break;
                            }
                            else
                            {
                                Console.WriteLine("C: No response from server, retrying...");

                                client.Disconnect(SERVER_ENDPOINT);
                                client.Close();
                                client.Dispose();

                                client = CreateServerSocket(context);
                                client.Send(Encoding.Unicode.GetBytes(_sequence.ToString()));
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 7
0
 private static void Node1(string url)
 {
     using (var s = new RequestSocket())
     {
         s.Connect(url);
         const string sendText = "Hello, World!";
         Console.WriteLine("NODE1: SENDING \"" + sendText + "\"");
         s.Send(Encoding.UTF8.GetBytes(sendText));
         Console.WriteLine("NODE1: RECEIVED: \"" + Encoding.UTF8.GetString(s.Receive()) + "\"");
     }
 }
Exemplo n.º 8
0
 public byte[] GetSnapshot(string topic)
 {
     using (NetMQContext ctx = NetMQContext.Create())
     {
         using (RequestSocket socket = ctx.CreateRequestSocket())
         {
             socket.Connect(Address);
             socket.Send(topic);
             NetMQMessage message = socket.ReceiveMessage();
             return(message.Last.ToByteArray());
         }
     }
 }
Exemplo n.º 9
0
            public static void Request()
            {
                using (var s = new RequestSocket())
                {
                    s.Connect(MessageQueueConstants.Address);

                    Debug.WriteLine("Request: Sending request");
                    s.Send(Encoding.UTF8.GetBytes(MessageQueueConstants.RequestPayload));

                    Debug.WriteLine("Request: Receiving reply");
                    var replyPayload = s.Receive();
                    Assert.IsTrue(BitConverter.ToInt32(replyPayload, 0) == MessageQueueConstants.ReplyPayload);
                }
            }
Exemplo n.º 10
0
        private static int Main(string[] args)
        {
            if (args.Length != 3)
            {
                Console.WriteLine("usage: remote_lat remote_lat <connect-to> <message-size> <roundtrip-count>");
                return(1);
            }

            string connectTo      = args[0];
            int    messageSize    = int.Parse(args[1]);
            int    roundtripCount = int.Parse(args[2]);

            using (var req = new RequestSocket())
            {
                req.Connect(connectTo);

                var msg = new Msg();
                msg.InitPool(messageSize);

                var stopWatch = Stopwatch.StartNew();

                for (int i = 0; i != roundtripCount; i++)
                {
                    req.Send(ref msg, more: false);

                    req.Receive(ref msg);

                    if (msg.Size != messageSize)
                    {
                        Console.WriteLine("message of incorrect size received. Received: {0} Expected: {1}", msg.Size, messageSize);
                        return(-1);
                    }
                }

                stopWatch.Stop();

                msg.Close();

                double elapsedMicroseconds = stopWatch.ElapsedTicks * 1000000L / Stopwatch.Frequency;
                double latency             = elapsedMicroseconds / (roundtripCount * 2);

                Console.WriteLine("message size: {0} [B]", messageSize);
                Console.WriteLine("roundtrip count: {0}", roundtripCount);
                Console.WriteLine("average latency: {0:0.000} [µs]", latency);
            }

            return(0);
        }
            private void Connect()
            {
                // getting the snapshot
                using (RequestSocket requestSocket = context.CreateRequestSocket())
                {
                    requestSocket.Connect(string.Format("tcp://{0}:{1}", address, SnapshotProtocol.Port));

                    requestSocket.Send(SnapshotProtocol.GetTradessCommand);

                    string json;

                    requestSocket.Options.ReceiveTimeout = SnapshotProtocol.RequestTimeout;

                    try
                    {
                        json = requestSocket.ReceiveString();
                    }
                    catch (AgainException ex)
                    {
                        // Fail to receive trades, we call on error and don't try to do anything with subscriber
                        // calling on error from poller thread block the application
                        Task.Run(() => subject.OnError(new Exception("No response from server")));
                        return;
                    }

                    while (json != SnapshotProtocol.EndOfTickers)
                    {
                        PublishTicker(json);

                        json = requestSocket.ReceiveString();
                    }
                }

                subscriberSocket = context.CreateSubscriberSocket();
                subscriberSocket.Subscribe(StreamingProtocol.TradesTopic);
                subscriberSocket.Subscribe(StreamingProtocol.HeartbeatTopic);
                subscriberSocket.Connect(string.Format("tcp://{0}:{1}", address, StreamingProtocol.Port));
                subscriberSocket.ReceiveReady += OnSubscriberReady;

                poller.AddSocket(subscriberSocket);

                // reset timeout timer
                timeoutTimer.Enable = false;
                timeoutTimer.Enable = true;
            }
Exemplo n.º 12
0
        public static void WorkerTask(object portNumber)
        {
            var randomizer = new Random(DateTime.Now.Millisecond);

            using (NetMQContext context = NetMQContext.Create())
            {
                using (RequestSocket worker = context.CreateRequestSocket())
                {
                    //  We use a string identity for ease here
                    string id  = ZHelpers.SetID(worker, Encoding.Unicode);
                    string cnn = string.Format("tcp://localhost:{0}", portNumber);
                    worker.Connect(cnn);
                    Console.WriteLine("[W] ID {0} connect to {1}", id, cnn);

                    int total = 0;

                    bool end = false;
                    while (!end)
                    {
                        //  Tell the router we're ready for work
                        string msg = "Ready";
                        worker.Send(msg);
                        //Console.WriteLine("[W] Message sent: {0}", msg);

                        //  Get workload from router, until finished
                        string workload = worker.ReceiveString();
                        //Console.WriteLine("[W] Workload received: {0}", workload);

                        if (workload.Equals("END"))
                        {
                            end = true;
                        }
                        else
                        {
                            total++;

                            Thread.Sleep(randomizer.Next(1, 1000)); //  Simulate 'work'
                        }
                    }

                    Console.WriteLine("ID ({0}) processed: {1} tasks", Encoding.Unicode.GetString(worker.Options.Identity), total);
                }
            }
        }
Exemplo n.º 13
0
        public ReactiveClient()
        {
            var context = NetMQContext.Create();

            reqSocket = context.CreateRequestSocket();
            reqSocket.Connect("tcp://127.0.0.1:3334");

            reqSocket.Send("GetMarket");
            var data = reqSocket.Receive();
            var mess = Encoding.UTF8.GetString(data);

            Console.WriteLine(mess);

            subSocket = context.CreateSubscriberSocket();
            subSocket.Connect("tcp://127.0.0.1:3333");
            subSocket.Subscribe("");
            var thread = new Thread(ReceiveThread);

            thread.Start();
        }
Exemplo n.º 14
0
        public static void Execute(string[] args)
        {
            const string socketAddress = "tcp://127.0.0.1:5088";

            if (args[1] == "client")
            {
                using (var req = new RequestSocket())
                {
                    req.Connect(socketAddress);
                    req.Send(Encoding.UTF8.GetBytes("hello from client"));
                    Console.WriteLine("Message from SERVER: " + Encoding.UTF8.GetString(req.Receive()));

                    Console.WriteLine("CLIENT finished");
                }
            }

            else if (args[1] == "server")
            {
                using (var rep = new ReplySocket())
                {
                    rep.Bind(socketAddress);

                    var listener = new NanomsgListener();
                    listener.AddSocket(rep);
                    listener.ReceivedMessage += socketId =>
                    {
                        Console.WriteLine("Message from CLIENT: " + Encoding.UTF8.GetString(rep.Receive()));
                        rep.Send(Encoding.UTF8.GetBytes("hello from server"));
                        Console.WriteLine("SERVER Finished");
                        Environment.Exit(0);
                    };

                    listener.Listen(null);
                }
            }
            else
            {
                Console.WriteLine("Unknown argument: " + args[1]);
            }
        }
Exemplo n.º 15
0
    public static void host_comm()
    {
        if (_hostCommInstantiated)
        {
            return;
        }
        _hostCommInstantiated = true;
        var reqAddress = "tcp://" + HostAndClientInput.hostIp + ":5560";
        var req        = new RequestSocket();

        req.Connect(reqAddress);

        while (true)
        {
            var msg = new Msg();
            msg.InitGC(Encoding.ASCII.GetBytes("{\"ID\":0}"), Encoding.ASCII.GetBytes("{\"ID\":0}").Length);
            req.Send(ref msg, false);

            var recvStr = req.ReceiveFrameString();
            HostAndClientInput.receivedGoObjectPoses = JsonConvert.DeserializeObject <ConcurrentDictionary <string, ConcurrentDictionary <string, float> > >(recvStr);
        }
    }
Exemplo n.º 16
0
        public void Upload()
        {
            try
            {
                //    PublishSocket PubClient = new PublishSocket();
                ////    PubClient.Bind("tcp://" + Global.Instance.LanIp + ":" + "8001");
                //    PubClient.Bind("tcp://"+"192.168.168.36"+ ":" + "8001");


                //    // label1.Text = "Come";
                //    string sp = "upload";
                //  //  Console.WriteLine(sp.Length);

                //    var intBytes = BitConverter.GetBytes(Global.Instance.ClientId);
                //    var buff = intBytes.Concat(Encoding.ASCII.GetBytes(sp)).ToArray();
                //    Thread.Sleep(10000);
                //    PubClient.Send(buff);

                //    PubClient.Dispose();
                //  Console.WriteLine(sp);

                _requestSocket = new RequestSocket();
                _requestSocket.Connect("tcp://" + Global.Instance.NNFConIp + ":" + "8222");

                //  _requestSocket.Connect("tcp://" + "192.168.168.36" + ":" + "8222");

                string sp = "upload";

                var intBytes = BitConverter.GetBytes(Global.Instance.ClientId);
                var buff     = intBytes.Concat(Encoding.ASCII.GetBytes(sp)).ToArray();


                _requestSocket.Send(buff);
                // _requestSocket.Dispose();
            }
            catch (Exception es)
            {
            }
        }
Exemplo n.º 17
0
        public string SendRequest(string request)
        {
            _reqSocket.Send(request);
            byte[] receiveBuffer;
            try
            {
                receiveBuffer = _reqSocket.Receive();
                if (receiveBuffer == null) // NetMQ > 3.3.0.11
                {
                    throw TimeoutException;
                }

                return(Encoding.UTF8.GetString(receiveBuffer));
            }
            catch (TerminatingException)
            {
                Dispose();
                throw;
            }
            catch (AgainException) // NetMQ = 3.3.0.11
            {
                throw TimeoutException;
            }
        }
Exemplo n.º 18
0
 public void Send(string data)
 {
     _socket.Send(string.Format("{0},{1}", Id, data));
     _socket.Receive();    //ack
 }
Exemplo n.º 19
0
        public OCForm()
        {
            sc = WindowsFormsSynchronizationContext.Current as WindowsFormsSynchronizationContext;

            InitializeComponent();

            flowLayoutPanelSysmenu.MouseDown   += MoveWindow;
            flowLayoutPanelSysmenu.DoubleClick += ResizeWindow;
            toolStripLeftPanel.MouseDown       += MoveWindow;
            toolStripLeftPanel.DoubleClick     += ResizeWindow;

            RegisterSysCommandBehavior();

            RegisterOwnerDraw();

            LoadLeftPanel();

            //Random randomGen = new Random();
            //KnownColor[] names = (KnownColor[])Enum.GetValues(typeof(KnownColor));

            lvConversations.Items.AddRange(new ListViewItem[] {
                new ListViewItem("1")
                {
                    Tag = new ConversationShortcut()
                    {
                        Icon = Guid.NewGuid(), DisplayName = "姓名1", LastUpdate = DateTime.Now, PeekMessage = "Message1", IsMute = true
                    }
                },
                new ListViewItem("2")
                {
                    Tag = new ConversationShortcut()
                    {
                        Icon = Guid.NewGuid(), DisplayName = "Name2", LastUpdate = DateTime.Now, PeekMessage = "\ue136", IsMute = true
                    }
                },
                new ListViewItem("3")
                {
                    Tag = new ConversationShortcut()
                    {
                        Icon = Guid.NewGuid(), DisplayName = "Name3", LastUpdate = DateTime.Now, PeekMessage = "消息~3", IsMute = true
                    }
                },
                new ListViewItem("1")
                {
                    Tag = new ConversationShortcut()
                    {
                        Icon = Guid.NewGuid(), DisplayName = "姓名1", LastUpdate = DateTime.Now, PeekMessage = "Message1", IsMute = true
                    }
                },
                new ListViewItem("2")
                {
                    Tag = new ConversationShortcut()
                    {
                        Icon = Guid.NewGuid(), DisplayName = "Name2", LastUpdate = DateTime.Now, PeekMessage = "\ue137", IsMute = true
                    }
                },
                new ListViewItem("3")
                {
                    Tag = new ConversationShortcut()
                    {
                        Icon = Guid.NewGuid(), DisplayName = "Name3", LastUpdate = DateTime.Now, PeekMessage = "消息~3", IsMute = true
                    }
                },
                new ListViewItem("1")
                {
                    Tag = new ConversationShortcut()
                    {
                        Icon = Guid.NewGuid(), DisplayName = "姓名1", LastUpdate = DateTime.Now, PeekMessage = "Message1", IsMute = true
                    }
                },
                new ListViewItem("2")
                {
                    Tag = new ConversationShortcut()
                    {
                        Icon = Guid.NewGuid(), DisplayName = "Name2", LastUpdate = DateTime.Now, PeekMessage = "Message2", IsMute = true
                    }
                },
                new ListViewItem("3")
                {
                    Tag = new ConversationShortcut()
                    {
                        Icon = Guid.NewGuid(), DisplayName = "Name3", LastUpdate = DateTime.Now, PeekMessage = "消息~3", IsMute = true
                    }
                },
                new ListViewItem("1")
                {
                    Tag = new ConversationShortcut()
                    {
                        Icon = Guid.NewGuid(), DisplayName = "姓名1", LastUpdate = DateTime.Now, PeekMessage = "\ue138", IsMute = true
                    }
                },
                new ListViewItem("2")
                {
                    Tag = new ConversationShortcut()
                    {
                        Icon = Guid.NewGuid(), DisplayName = "Name2", LastUpdate = DateTime.Now, PeekMessage = "Message2", IsMute = true
                    }
                },
                new ListViewItem("3")
                {
                    Tag = new ConversationShortcut()
                    {
                        Icon = Guid.NewGuid(), DisplayName = "Name3", LastUpdate = DateTime.Now, PeekMessage = "消息~3", IsMute = true
                    }
                },
                new ListViewItem("1")
                {
                    Tag = new ConversationShortcut()
                    {
                        Icon = Guid.NewGuid(), DisplayName = "姓名1", LastUpdate = DateTime.Now, PeekMessage = "Message1", IsMute = true
                    }
                },
                new ListViewItem("2")
                {
                    Tag = new ConversationShortcut()
                    {
                        Icon = Guid.NewGuid(), DisplayName = "Name2", LastUpdate = DateTime.Now, PeekMessage = "\ue139", IsMute = true
                    }
                },
                new ListViewItem("3")
                {
                    Tag = new ConversationShortcut()
                    {
                        Icon = Guid.NewGuid(), DisplayName = "Name3", LastUpdate = DateTime.Now, PeekMessage = "消息~3", IsMute = true
                    }
                },
            });
            for (int i = 0; i < lvConversations.Items.Count; i++)
            {
                var shortcut = lvConversations.Items[i].Tag as ConversationShortcut;
                var chatUI   = GetChatUI(shortcut.Icon);
                chatrooms.AddOrUpdate(shortcut.Icon.ToString(), chatUI, (key, value) => chatUI);
                //chatUI.BackColor = Color.FromKnownColor(names[randomGen.Next(names.Length)]);
            }

            /*chatUI.AddMessage(Guid.Empty, "你好,祝你生日快乐!");
             * chatUI.AddMessage(Guid.Empty, "你是?", false);
             * chatUI.AddMessage(Guid.Empty, "我是你的小号啊");
             * chatUI.AddMessage(Guid.Empty, ":-( 伐开熏 ...", false);
             */
            Messaging.Message message = null;
            ThreadPool.QueueUserWorkItem(state => {
                //Get Message From 0MQ
                //Handle
                bool working = true;
                while (working)
                {
                    sendEvent.WaitOne();
                    //Validate Message;
                    if (message != null)
                    {
                        Guid guid = message.From; string Guid = guid.ToString();
                        ChatUI ui = null;
                        if (chatrooms.ContainsKey(Guid))
                        {
                            ui = chatrooms[Guid];
                        }
                        else
                        {
                            ui = new ChatUI(guid); chatrooms.TryAdd(Guid, ui);
                        }
                    }
                }
            });

            ThreadPool.QueueUserWorkItem(state => {
                using (SubscriberSocket subscriber = new SubscriberSocket()) {
                    subscriber.Bind($"tcp://localhost:12555");
                    //Handle Subscriber
                    subscriber.SubscribeToAnyTopic();
                    Msg msg = new Msg(); msg.InitEmpty();
                    while (true)
                    {
                        subscriber.TryReceive(ref msg, TimeSpan.MaxValue);
                        using (MemoryStream ms = new MemoryStream(msg.Data)) {
                            BinaryFormatter bf             = new BinaryFormatter();
                            Messaging.Message groupMessage = bf.Deserialize(ms) as Messaging.Message;
                            if (groupMessage == null)
                            {
                                continue;
                            }
                            if (!groupMessage.MessageType.HasFlag(Messaging.MessageType.MT_GROUP_FLAG))
                            {
                                continue;
                            }
                            Guid from = groupMessage.From;
                        }
                    }
                }
            });

            ThreadPool.QueueUserWorkItem(state => {
                new FakeServer().Init();
            });

            cmdSend.Click += (sender, @event) => {
                if (ActiveChatUI == null)
                {
                    return;
                }

                Guid TO = ActiveChatUI.Target; string to = TO.ToString();
                if (!members.ContainsKey(to))
                {
                    return;
                }
                using (var client = new RequestSocket()) {
                    Messaging.Membership membership = members[to];
                    client.Connect($">tcp://0x{membership.LastLoginIP:X}:12553");
                    string            ____ = "-------------------";
                    byte[]            data = Encoding.UTF8.GetBytes(____);
                    Messaging.Message m    = new Messaging.Message(1, from, TO, Guid.Empty,
                                                                   TimeSpan.FromMinutes(1D), false, new Guid(),
                                                                   Messaging.MessageType.MT_PLAINTEXT, data.Length, data);
                    using (MemoryStream ms = new MemoryStream()) {
                        BinaryFormatter bf = new BinaryFormatter();
                        bf.Serialize(ms, m); data = ms.ToArray();
                        msg.Put(data, 0, data.Length);
                    }
                    client.Send(ref msg, false);
                    //Clear Input
                    sendEvent.Set();
                }
            };

            lvConversations.Click += (sender, @event) => {
                if (lvConversations.SelectedIndices.Count == 0)
                {
                    return;
                }
                int selectedIndex = lvConversations.SelectedIndices[0];

                var shortcut = lvConversations.Items[selectedIndex].Tag as ConversationShortcut;
                if (shortcut == null)
                {
                    return;
                }

                ChatUI chatUI = GetChatUI(shortcut.Icon);

                for (int i = 0; i < splitContainerChat.Panel1.Controls.Count; i++)
                {
                    splitContainerChat.Panel1.Controls[i].Visible = (chatUI == splitContainerChat.Panel1.Controls[i]);
                }
                ActiveChatUI = chatUI;
                lblInfo.Text = shortcut.DisplayName;
            };

            lblInfo.Click += (sender, @event) => {
                Msg m = new Msg();// m.InitEmpty();
                Messaging.Message _message = MessageFactory.CreateMemberInfoMessage(new Guid(), new Guid(), new Guid());
                byte[]            b        = SerializerUtil <Messaging.Message> .Serialize(_message);

                m.InitPool(b.Length); m.Put(b, 0, b.Length);
                using (var client = new RequestSocket()) {
                    client.Connect("tcp://localhost:12553");
                    client.Send(ref m, false);
                    Msg mm = new Msg(); mm.InitEmpty();
                    client.Receive(ref mm);
                    var reply = SerializerUtil <Messaging.Message> .Deserialize(mm.Data);

                    var response = SerializerUtil <MemberInfoResponse> .Deserialize(reply.Content);

                    var membership = response.Membership;
                    MessageBox.Show($"{membership.ID}\n{membership.Name}\n{membership.NickName}\n0x{membership.LastLoginIP :X08}");
                }
            };
        }
Exemplo n.º 20
0
        //private void timerforchecklogin_Elapsed(object o ,)
        //{

        //}

        //public int Publisher(MessageType msgType, byte[] buffer)
        //{
        //    //var buf=BitConverter.GetBytes((byte)msgType);
        //    //publisher.Send(buf).Concat(buffer).ToArray());

        //    //publisher.Send(Encoding.ASCII.GetBytes(msgType));
        //    //publisher.Send(buffer);


        //    PubNNF.SendMore(msgType.ToString(), Encoding.Unicode);
        //    return (int)PubNNF.Send(buffer);
        // //   return 1;
        //}



        public void Publisher(MessageType _conversationenum, byte[] data)
        {
            _requestSocket.Send(BitConverter.GetBytes((short)_conversationenum).Concat(BitConverter.GetBytes(Global.Instance.ClientId)).Concat(data).ToArray());
        }