Avatar billede jonashn Nybegynder
05. december 2007 - 17:06 Der er 2 kommentarer og
1 løsning

Berkeley sockets + GUI?

Jeg er, som nogen måske har opdaget igang med at lave et chatprogram til min kvartalsopgave om programmering i  skolen.

P.g.a problemer med open-source IDE'erne samt GUI-libs'ne valgte jeg kombinationen C++ Sockets Library + Visual C++ Express.

Det var dog nærmest umuligt at konfigurere disse to ting til at virke uden errors, så jeg måtte vælge pure berkeley-sockets (aka ren C).

Nu har jeg bare et par designfilosofi-problemer.

Ideen er at programmet som udgangsport skal lytte på en prædefineret port efter indgående TCP connections.. Dette kan dog interruptes v.h.a en funktion som connecter til en IP-addr. defineret af brugeren.

Kan det laves baseret på flg. idé?:

Når man klikker på den knap der connecter til ip:
  Forsøg at connecte med et timeout, og lav derefter en uendelig løkke, som venter på beskeder og skriver dem i output-vindut og kun break;er hvis der connectes til en anden client (styres evt vha en global variabel) eller ved at programmet bliver bedt om at "lytte" efter connections i stedet.

Når der klikkes på "Send":
  Tjek om der er en connection at sende til, og hvis der er , så send.
Avatar billede krismort Nybegynder
06. december 2007 - 11:50 #1
jeg tror du vil have godt af at læse om et design pattern som hedder MVC - model view controller.
Det omhandler nogle af de problemer som du beskriver her, ud over det kan du bentte dig af observer pattern til at indkapsle netværksprotokollen.
Avatar billede jonashn Nybegynder
06. december 2007 - 20:14 #2
Ved godt hvad MVC er. Jeg indkapsler allerede alle IM funktioner i et hjemmelavet imCtrl class. Det jeg vil vide er om den ovenstående teknik kan bruges.
Avatar billede jonashn Nybegynder
08. december 2007 - 21:50 #3
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester