19. august 2000 - 19:50Der er
21 kommentarer og 1 løsning
Chat for viderekomne
Jeg forsøger at lave en art chat der ikke lige fungerer som de andre. Da jeg har regenet ud at jeg er for dum til dette vil jeg gerne uddele point til hvem der nu gidder skrive noget kode til mig. Nok om det. Princippet i systemet skal være ligesom i icq og lignende programmer. Hele det \'for viderekomne\' i det skal være det at man ikke chatter client-server-client men at serveren bare uddeler ip og brugernavn på brugerne og der altså ikke bliver chattet gennem denne, men blot mellem clienterne.
Hvis der nu er nogen der bliver mugne over at pointtallet er lidt lavt KAN det sættes op.
Jeg vil heller ikke have et fuldt færdigt project. Det jeg vil have er stumper kode til server- og clientprogrammerne der får dem til at udveksle navn og ip. Resten kan man jo downloade rundt omkring.
Det er egentligt meget simpelt at lave. Men når du alligevel ikke vil bruge en server, kan du overveje at lave en løsning, hvor klienterne broadcaster når de går online. Altså sender en besked som alle inden for samme ip-gruppe og subnet-mask kan modtage. Den besked kan så indeholde brugernavn, ip, port osv.
Har faktisk selv haft gang i noget lignende. Ikke sådan lige noget man bare banker sammen overnight!
Du får heller ikke den samme føling med dit prog hvis du blot har tænkt dig at downloade alle de forskellige stykker. Med hjælp fra windows cut\'n\'paste teknik kan du muligvis skære nogle hjørner, men bugfixing bliver et helvede.
Nå men nok om det, hvis det lykkes dig vil jeg da gerne give dig 1500 point for rettighederne :-)
mikker>> Nu tror jeg heller ikke at det nogensinde er lykkedes for nogen at \'banke\' et større project sammen at stumper fra andre programmer. Helt spasser er jeg jo heller ikke ;-)
Du skriver at systemet \"i princippet skal være ligesom icq og lignende\", men er du ude på at lave Internet chat (dvs. at skulle slås med firewalls o.l.) eller er det blot på et LAN (evt. kun men et segment)?
Jeg er kun ude på lige at få de absolutte basisfunktioner til at virke i første omgang. Intet andet. Og hvad angår internet/LAN, så ville jeg da tro at den kunne virke med begge dele hvis man lavede den med Winsock?
jeg har tænkt på at lave noget ligendene til LAN her har man den fordel at alle \"somregel\" har fast ip, men lave det til internet/firewalls ville ikke være noget problem hvis man kørte de forskellige ippakker over en server(ved godt du ville undgå dette fra starten) da man bare kan sætte den første fw-regel til at tillade alle ip-pakker fra lige netop den ip.
Så vidt jeg ved, er der rigtig mange steder, hvor man ikke tilllader indkomne TCP-forbindelser (af rigigt gode grunde).
Umiddelbart ville jeg, hvis jeg skulle lave en løsning til LAN med ét segment, benytte mig af broadcasts, og ville derved helt kunne undgå brugen af en server.
Ved flere (routede) LAN-segmenter, duer broadcast ikke, hvorfor der vil være brug for én eller anden serverfunktionalitet.
Gennem Internet vil man kunne støde på alverdens firewalls med utallige begrænsninger (og disse begrænsninger kan ÆNDRE SIG HELE TIDEN), vil det være smart at benytte \"noget\" som NÆSTEN altid vil kunne komme igennem (i hverfald den ene vej). Det kunne f.eks. være HTTP-protokollen.
Det er heller ikke alle steder man kan bruge (dvs. \"tilader brugen af\") ICQ, p.gr.a. begrænsninger i firewall\'s.
...bare sådan nogle betragtinger, uden at jeg selv har lavet sådan en chat \"dims\".
Hvis du var ansvarlig for et firmas firewall (det er primært dem, at jeg taler om), ville DU så tillade, at alle mulige ude fra Internettet, kunne foretage diverse undersøgelser/angreb af/på firmaets computere - lige fra arbejdsstationer til servere - uanset om der bruges UDP- eller TCP-protokollen?
Sagen stiller sig noget anderledes med én enkelt privat PC, som er koblet op via én eller anden Internet-udbyder. Her er der tale om noget helt andre (lave) sikkerhedkrav, og der er oftest i langt højere grad \"åbnet op\" til Internettet.
Men vær opmærksom på at billedet hele tiden ændrer sig. Kravene til sikkerhed bliver større og større i takt med. at hackere rykker tættere og tættere på livet af ikke kun firmaer, men også privatpersoner.
Hvad med at prøve dig lidt frem?
Det tager nogle få minutter at lave et VB-program, som kan sende en besked via UDP og tilsvarende med TCP. Installer det hos dig sig og hos en anden (evt. som har en anden Internet-udbyder), grib knoglen, ring til den anden, udveskl IP-adresser, og se hvad der sker?
Jeg har endnu ikke lavet noget program der har haft noget med nettet at gøre, derfor tror jeg ikke selv så meget om det. Og hvad angår firewalls så har jeg heller ikke haft med andet at gøre end min egen ZoneAlarm.
Noget andet er at jeg heller ikke har tænkt meget længere end til venner og bekendte, hvad angår hvem jeg ville overtale til en indstallering.
Og som sagt. Det eneste jeg vil have til at fungere i første omgang er at \"få den til at virke\". Så er jeg sgu lidt ligeglad med både firewall, ISP og hvem der nu ellers ville stille sig i vejen.
Hvad er der i vejen med Yahoo messenger? Fungerer fint for mig - også gennemfirewalls og det hele. Det har omgået nemt ved at benytte sig HTTP protokolen. \"PRØV DET\" - som de plejer at sige i reklamerne.
Du går selvfølgelig glip af udfordringen - men også alle bekymringerne.
Hygge, allesammen.
Og god fornøjelse Dar, hvis du alligevel kaster dig ud i det.
Nu har jeg lavet et rudimentært klient-til-klient chat-program, som bruger et server-program til at hold styr på brugere og IP adresser (og portnumre).
Jeg vil lige knytte et par kommentarer til mit lille VB-Chat projekt.
Det er MEGET simpelt, og viser kun nogle af de teknikker, som man kan bruge til at \"chatte\" med. Der findes MANGE andre måder at gøre det på, men jeg har med vilje valgt én, som er meget enkel.
Princippet er, at et serverprogram skal altid køre på en kendt server (IP-adresse og portnummer skal kendes - er hardkodet i systemet lige nu).
Alle klienter skal logge sig ind, så serveren ved at de er klar, og den får derved brugerens IP-adresse og portnummer at vide. I forbindelse med login, sender serveren en liste med alle de ind-logggede brugere.
Når man er på (man kan til testformål køre både server og et antal klienter på samme PC), vælger man en bruger fra brugerlisten (obs: brugerens navn SKAL være markeret i listboxen), skriver en besked i besked tekstboksen og trykker Enter.
Alle beskeder sendes via UDP-protokollen, og man får ikke at vide om beskeden når frem eller ej. Det eneste sted, hvor der foregår en slags hand-shaking/feedback er, når man logger ind eller ud, hvor formens tilstand først skiftes, når man modtager besked om, at man er logget ind henholdsvis ud.
Bemærk at man godt kan modtage beskeder, selvom man har trykket på \"Log out\" knappen og er logget ud fra serveren. Hvis en anden bruger \"kender\" ens IP-adresse/portnummer fra tidligere eller hvis serveren har lyst til at sende en besked, modtages disse fint.
Der er en Refresh-knap, som får serveren til at sende en opdateret liste med ind-loggede brugere.
Når man blot lukker klient-programmet ud at logge pænt ud ved at trykke på Log out knappen, søger klient-programmet alligevel for at sende en udlogningsbesked til serveren.
Man kunne snildt forestille sig at serveren bliver udvidet til jævnligt at sende keep-alive pakker ud til klienterne, som de skal svare på, ellers bliver de slettet af listen over ind-loggede brugere.
Den vil altså ikke helt som jeg vil. Når man vil logge ind kommer både client og server med error 126 der hvor den skal sende data med udpChat.SendData Data
tomasc>> Da jeg regner med at du gerne vil have nogle point og at det virker får du altså bare pointene. Grunden til at jeg har ventet er jo som sagt at jeg ikke har VB6 og at det absolut ikke virker i VB5.
Synes godt om
Ny brugerNybegynder
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.