/ / C # Programowanie gniazd: połączenie serwera i klienta w 1 rozwiązaniu - c #, winforms, gniazda

Programowanie gniazda C #: Łączenie serwera i klienta w 1 rozwiązanie - c #, winformy, gniazda

Obecnie pracuję nad aplikacją ułatwiającą, aplikacją konkurencji i serwerem czatu. Korzystam z programowania gniazd C # za pomocą WinForm.

Ma na celu uruchomienie 1 aplikacji facylitatora i aplikacji wielu konkurentów połączonych ze sobą przez serwer.

Czy istnieje sposób na połączenie kodów serwera w rozwiązanie ułatwiające, aby po uruchomieniu programu ułatwiającego uruchamianie serwera było uruchamiane wraz z aplikacją ułatwiającą.

Obecnie robię, aby przekształcić serwer w plik .exe, a następnie uruchomić moją aplikację ułatwiającą, uruchomi także server.exe, aby uruchomić serwer.

public Facilitator()
{
Process.Start(@"C:UsersGuestDesktopServer.exe");
InitializeComponent();
}

Zastanawiam się jednak, czy można go włączyć tylko do aplikacji ułatwiającej.

Odwołałem się do mojego serwera czatu z tego Przewodnik po serwerze czatów C # i zrobiłem na tej podstawie moją aplikację.

Twoja pomoc będzie doceniona. Przepraszam za mój język, jeśli jest trochę trudny do zrozumienia.

Odpowiedzi:

3 dla odpowiedzi № 1

Jeśli chcesz debugować oba jednocześnie, możesz to zrobić w Visual Studio w ten sposób.

Umieść klienta w jednym projekcie i serwerzewinnym. Umieść oba projekty w tym samym rozwiązaniu. Kliknij prawym przyciskiem myszy nazwę rozwiązania, wybierz „Ustaw projekty startowe”. Wybierz oba projekty, a oba zaczną się po rozpoczęciu debugowania.


0 dla odpowiedzi nr 2

Uważam, że o wiele lepiej jest przechowywać biblioteki ipliki wykonywalne w oddzielnych rozwiązaniach po prostu wymuszają separację. W takim przypadku serwer ma inny cel niż moderator. Trzymaj je osobno - mają różne obawy.

Ponadto, ponieważ Twój facylitator zależy od poprawnego działania serwera, przeniósłbym proces startowy do metody Main w twoim Program klasa. Upewnij się, że działa, a następnie uruchom program ułatwiający.