コード例 #1
0
        public async Task InitializeAsync()
        {
            using (CommunicationSocket = new StreamSocket())
            {
                try
                {
                    IOMulticastAndBroadcast Activity = new IOMulticastAndBroadcast(CommunicationSocket,
                                                                                   SampleConfiguration.Host,
                                                                                   SampleConfiguration.ConnectionPort);
                    await Activity.connect();

                    IAsyncSynAck DHsession = new DHkeyExchange(Activity);

                    await EstablishDHkeySession(DHsession);

                    IOCallbackAsync Session = new IOHandlerDHMessage(Activity, sessionKey);
                    serverMessage = await ContinueSession(Session);
                }
                catch (Exception exception)
                {
                    CommunicationSocket.Dispose();
                    switch (SocketError.GetStatus(exception.HResult))
                    {
                    case SocketErrorStatus.HostNotFound:

                        throw;

                    default:

                        throw;
                    }
                }
            }
        }
コード例 #2
0
 public IOHandlerDHMessage(IOMulticastAndBroadcast ActivitySocket, DHSessionkey sessionKey)
 {
     this.ActivitySocket = ActivitySocket;
     this.sessionKey     = sessionKey;
     Intialize();
 }
コード例 #3
0
 public DHkeyExchange(IOMulticastAndBroadcast ActivitySocket)
 {
     this.ActivitySocket = ActivitySocket;
     Intialize();
 }