예제 #1
0
 public ChatSender(ChatClientCallback chatCallback)
 {
     this.chatCallback = chatCallback;
     this.chatCallback.RequestStatusReceivedD += OnRequestStatusReceive;
     networkingThread = new Thread(DoSend);
     networkingThread.Start();
 }
예제 #2
0
 public ChatSender(ChatClientCallback chatCallback)
 {
     this.chatCallback = chatCallback;
     this.chatCallback.RequestStatusReceivedD += OnRequestStatusReceive;
     networkingThread = new Thread(DoSend);
     networkingThread.Start();
 }
예제 #3
0
 // chat managing
 public void Start()
 {
     if (!isStopping)
     {
         return;
     }
     // чтение паролей на комнаты
     foreach (var room in ChatSettings.Instance.Rooms)
     {
         roomPasswords.UpdateValues(room, ChatSettings.Instance.Passwords[ChatSettings.Instance.Rooms.IndexOf(room)]);
     }
     // подготовка к сетевому взаимодействию
     receiver = new ChatClientCallback();
     receiver.AllUsersReceivedD        += AllUsersReceivedInternal;
     receiver.UserEntered              += UserEnteredInternal;
     receiver.UserExited               += UserExitedInternal;
     receiver.UserEnteredRoom          += UserEnteredRoomInternal;
     receiver.UserLeftRoom             += UserLeftRoomInternal;
     receiver.RoomsReceivedD           += RoomsReceivedInternal;
     receiver.MessageReceivedD         += MessageReceivedInternal;
     receiver.PendingMessagesReceivedD += PendingMessagesReceivedInternal;
     sender                       = new ChatSenderStable(receiver);
     sender.Entered              += EnteredInternal;
     sender.Exited               += ExitedInternal;
     sender.RequestQueueFilled   += RequestQueueFilledInternal;
     sender.RequestQueueCleared  += RequestQueueClearedInternal;
     sender.RequestErrorOccurred += RequestErrorOccurredInternal;
     sender.Logged               += LoggedInternal;
     sender.UserInfoExReceived   += UserInfoExReceivedInternal;
     liveRoomCheckTime.SetTime(DateTime.Now + aliveTimeSpan);
     liveRoomThread = new Thread(CheckRoomEntered);
     liveRoomThread.Start();
     isStopping = false;
 }
예제 #4
0
 public ChatSenderStable(ChatClientCallback chatCallback)
 {
     chatCallback.UserEntered += UserEntered;
     chatCallback.UserExited  += UserExited;
     chatSender                        = new ChatSender(chatCallback);
     chatSender.Connected             += Connected;
     chatSender.Disconnected          += Disconnected;
     chatSender.RequestQueued         += RequestQueuedOnClient;
     chatSender.RequestQueuedOnServer += RequestQueuedOnServer;
     chatSender.RequestProcessed      += RequestProcessed;
     chatSender.UserInfoExReceived    += UserInfoExReceivedInternal;
     liveServerThread                  = new Thread(CheckServerAlive);
     liveServerThread.Start();
 }
예제 #5
0
 public ChatSenderStable(ChatClientCallback chatCallback)
 {
     chatCallback.UserEntered += UserEntered;
     chatCallback.UserExited += UserExited;
     chatSender = new ChatSender(chatCallback);
     chatSender.Connected += Connected;
     chatSender.Disconnected += Disconnected;
     chatSender.RequestQueued += RequestQueuedOnClient;
     chatSender.RequestQueuedOnServer += RequestQueuedOnServer;
     chatSender.RequestProcessed += RequestProcessed;
     chatSender.UserInfoExReceived += UserInfoExReceivedInternal;
     liveServerThread = new Thread(CheckServerAlive);
     liveServerThread.Start();
 }
예제 #6
0
 public ChatClientStable(ChatClientCallback callbackObject, string endPoint)
 {
     this.callbackObject = callbackObject;
     this.endPoint       = endPoint;
     RenewConnection();
 }