Exemple #1
0
        private void OnReceive(IAsyncResult ar)
        {
            byte[] msgBuffer = new byte[1024];
            try
            {
                clientSocket.EndReceive(ar);

                byteData.CopyTo(msgBuffer, 0);

                Data dataRecved = new Data(msgBuffer);

                if (dataRecved.getDataType() != Data.DataType.AssignID)
                {
                    serviceAgent.receiveDataHandler(msgBuffer);
                }
                else//assign id number
                {
                    localIdNumber = dataRecved.getIdNumber();
                }

                for (int i = 0; i < byteData.Length; i++)
                    byteData[i] = 0xff;

                clientSocket.BeginReceive(byteData,
                                          0,
                                          byteData.Length,
                                          SocketFlags.None,
                                          new AsyncCallback(OnReceive),
                                          null);
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Client.onReceive: " , MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemple #2
0
        public void send(Data d)
        {
            byte[] message=new byte[1024];
            message.Initialize();
            d.setIdNumber(activeIdNumber);
            d.ToByte().CopyTo(message, 0);

            foreach (ClientInfo c in clientList)
            {
                if (c.idNumber==d.getIdNumber() ||d.getIdNumber()==Data.IDNUMBER_BROADCAST)
                {

                    c.socket.BeginSend(message, 0, message.Length, SocketFlags.None, new AsyncCallback(OnSend), c.socket);
                }
            }
        }