コード例 #1
0
ファイル: Server.cs プロジェクト: AlirezaP/APSocket.Net
        private void Accepting(IAsyncResult res)
        {
            DoWork.Set();

            Socket Listener = (Socket)res.AsyncState;
            Socket Handel = Listener.EndAccept(res);

            if (AcceptNewConnection != null)
                AcceptNewConnection((ConnectedClients.Count + 1), Handel.RemoteEndPoint.ToString());


            switch (selectedMode)
            {
                case CommunicationMode.Messaging:

                    APSocket.DataStruct state = new APSocket.DataStruct();
                    state.socket = Handel;

                    APSocket.AcceptedClient temp = new APSocket.AcceptedClient { id = (ConnectedClients.Count + 1), IPAddress = Handel.RemoteEndPoint.ToString(), acceptedSocket = Handel };
                    ConnectedClients.Enqueue(temp);

                    Handel.BeginReceive(
                        state.buffer
                        , 0
                        , APSocket.DataStruct.BufferSize
                        , 0
                        ,
                        new AsyncCallback(ReadCallback), state);
                    break;

                case CommunicationMode.StreamFile:
                    APSocket.NetStream currentStream = new APSocket.NetStream(Handel, false);

                    if (ReciveByteIntterupt != null)
                        ReciveByteIntterupt(Handel, currentStream.ReadByte());

                    Handel.Close();
                    break;

                case CommunicationMode.LengthFirst:
                    APSocket.DataStructLenghFirst stateLenFirst = new APSocket.DataStructLenghFirst();
                    stateLenFirst.socket = Handel;

                    Handel.BeginReceive(
                     stateLenFirst.buffer
                      , 0
                      , APSocket.DataStructLenghFirst.BufferSize
                      , 0
                      ,
                      new AsyncCallback(ReadFirstLenCallback), stateLenFirst);
                    break;
            }

        }
コード例 #2
0
ファイル: Client.cs プロジェクト: FHaghighat/APSocket.Net
        /// <summary>
        /// Start Reciving
        /// </summary>
        public void ReceiveAsync()
        {
            try
            {
                APSocket.DataStruct state = new APSocket.DataStruct();
                state.socket = clientsocket;

                clientsocket.BeginReceive(state.buffer, 0, APSocket.DataStruct.BufferSize, 0,
                    new AsyncCallback(ReceiveCallback), state);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
        }