Eigener Chat programmieren

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

      Eigener Chat programmieren

      Hallo

      Ich hab grad Lust einen eigenen Chat zu programmieren. Sollte ein Chat werden wo alle zusammen schreiben können aber auch private nachrichten im Chat senden soll möglich sein. Jeder User soll auch ein profil haben usw, ...
      Ich weiß nur nicht genau wie ich einige Sachen machen soll.

      Reichen PHP, HTML,CSS aus um das hin zu kriegen?
      Wie regle ich das mit dem öffentlichen Raum wo jeder mit jedem schreiben kann und alle Nachrichten erhält ohne enorme Ressourcen vom Server zu verbrauchen?


      Hoffe ihr könnt mir weiter helfen.

      MfG HolyBeast
      kommt drauf an, was du so drauf hast. HTML und CSS kenntnisse brauchst du auf jeden fall.
      damit kommst du natürlich nicht aus. da du damit nur statische Seiten machen kannst.
      um das ganze dynamisch zu machen brauchst du noch eine Programmiersprache (ja, html und css sind KEINE programmiersprachen, es sind sog. Markup-languages, also im priinzip "nur" "daten-speicher-sprache")
      da gibts natürlich einige zur auswahl:
      - php (relativ einfach zu erlernen, relativ schnell "irgendwas" aufgestellt - stößt relativ schnell an seine grenzen, und ist oft unsicher, bzw. ist schnell mal unsicherer code produziert)
      > Apache Server

      - java -> JavaEE (auch nicht schwer zu erlernen, jedoch bis man "wirklich was sieht" dauerts länger)
      >tomcat Server (es gibt auch andere.. aber naja..)

      - c# -> asp (nicht ganz so leicht zu erlernen, und auch nicht ganz so verbreitet wie obere, aber durchaus auch eine möglichkeit)

      edit: was du dir unabhängig dazu noch anschauen sollst ist: "was ist AJAX?".. wirst du brauchen, damit nicht bei jeder nachricht die ganze seite neu geladen werden muss
      ausserdem "was ist eine Datenbank, und wie überleg ich mir ein sinnvolles design?" - wirst du brauchen um eine User zu managen und möglicherweise auch die nachrichten abzuspeichern
      zu asp.net sei noch gesagt, dass du darfür soweit ich weiß nen windows server brauchst. und nicht jeder hoster lässt zu, was asp.net so alles braucht
      Dieser Beitrag wurde noch nie editiert, zuletzt von »hangman« (Heute , 13:37)






      Skill ist, wenn Luck zur Gewohnheit wird
      - c# -> asp (nicht ganz so leicht zu erlernen, und auch nicht ganz so verbreitet wie obere, aber durchaus auch eine möglichkeit)

      Das ist jetzt zwar Erbsenzählerei, aber wenn, dann ASP.NET bitte. Im .NET-Umfeld gibt es kein ASP und ASP an für sich hat mehr mit PHP gemein als mit der .NET-Variante. Gleicher Name, unterschiedliche Sachen.

      - java -> JavaEE (auch nicht schwer zu erlernen, jedoch bis man "wirklich was sieht" dauerts länger)
      >tomcat Server (es gibt auch andere.. aber naja..)

      Ach kommt, die meisten konnten das doch schon erahnen oder ;)
      Ich weiß nicht, was du unter einfach verstehst, aber JEE ist es sicherlich nicht. Einem Browser was zum Schauen zu geben, ist noch keine JEE-Anwendung und JEE ist so komplex, dass nicht ohne Grund bei Projekten auch locker 7- und 8-stellige Beträge reinfließen. Das ist kein Kinderkram und für Anfänger schon gar nicht geeignet, erst recht nicht, wenn man weder die Grundlagen von Java beherrscht und sowieso nicht, wenn man generell keine Erfahrungen mit ähnlichen Umgebungen hat. Und der Part mit dem Applicationserver ist auch eine völlig eigene Geschichte. Klar, ich denke jetzt natürlich im Business-Umfeld und ein stupider Chat entspricht nicht ganz dem, aber so oder so, man braucht dafür sehr viel Wissen, viel Einarbeitungszeit und ein großes Versändnis für den gesamten Ablauf und alles drumherum. Das ist nichts für Anfänger und bereitet selbst vielen erfahrenen Leuten aus dem Java-Umfeld Kopfschmerzen. Bestes Beispiel sind Studenten, die meinen sie könnten JEE, weil sie ein oder zwei Projekte für die Uni in JEE umsetzen mussten. Realtität ist aber leider, dass das weniger ist, als der Schaden an einem Auto, wenn man versucht mit einem Fingernagel den Lack anzukratzen. Das ganze Thema ist eben nicht einfach und sollte so auch nicht verkauft werden.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Akeshihiro ()

      ok, stimmt, was ich eigentlich damit aussagen, und erreichen wollte, ist - nicht alles muss php sein, mich kotzt das einfach schon voll an, wenn jemand glaub, dass jede WebSeite in php sein muss... von dem abgesehen, deutest du wieder genau in die andere Richtung.
      von dem abgesehn, mein erster Satz war "kommt drauf an, was du so drauf hast" ... das habe ich gefragt, weil vielen nicht bewusst ist, dass man damit auch "webseiten proggrammieren" kann.. und wenn man das schon drauf hat, lohnt sich der blick auf jeden fall - und wenn er sich durch genau diese , selbstauferlegte, Aufgabe gut in JEE einarbeiten kann, kann das sicher auch eine gut Refferenz für einen späteren Job sein

      btw. ich bin von der ersten Sekunde davon ausgegangen, das der Threadersteller nicht schnell mal was hinpfuschen möchte - sollte das der Fall sein, werd ich mich von diesem Thread natürlich abwenden
      Die Frage ist einfach, soll ein Chat im Browser sein oder eine Desktop Anwendung oder sogar beides?
      Weil bei einer Desktop Anwendung bist du gezwungen dich mit TCP/UDP Verbindungen auseinander zu setzen, bei einem Browser Chat nicht unbedingt, wobei es auch hier eine Option darstellen kann.
      Die einfachste Browservariante wäre mit HTML/CSS, PHP und JS/Ajax umzusetzen, wobei das eher eine Shoutbox wäre, da die Echtzeitbedinung nur teilweise erfüllt ist. Wenn du einen wirklichen Chat willst, dann wirst du nicht drum rum kommen einen Server zu programmieren und einen Client, da du sonst vom Server nicht zum Client hin sagen kannst "Hey neue Nachricht da!", da HTTP ein zustandloses Protokoll ist und die Verbindung nach einer Abfrage getrennt wird.
      Alles in allem ist ein Chat nix was man mal eben macht und auch nix was einfach ist, da es einfach extrem viel zu beachten gibt unter anderem: Verbindungstatus aller Clients, evt. Systemnachrichten, Wer ist mit wem am schreiben uvm. Wenn du nicht wirklich Ahnung von Programmieren hast und nicht weißt wie man Netzwerkstreams etc. in der Sprache deine Wahl behandelt, dann lass es und mach lieber ne PHP, HTML/CSS, JS Shoutbox, die ist einiges einfacher.

      Gruß Enno

      P.S. Auch ASP.NET bietet viel mehr als das was die meisten Leute nutzen. Was es halt meiner Meinung nach "besser" als JEE macht ist, dass es gefühlt einfacher zu deployen ist, wobei sowas natürlich immer Geschmackssache ist.

      EDIT: UNd nein für ASP.NET brauchst nicht unbedingt einen Windows Server ASP.NET 2.0, ASP.NET MVC und ASP.NET Ajax sind afaik im Mono Projekt implementiert und Projekte auf deren Basis kann man dementsprechend auch auf Linux laufen lassen, wenn Mono installiert ist.

      Ennosuke schrieb:

      dann wirst du nicht drum rum kommen einen Server zu programmieren und einen Client, da du sonst vom Server nicht zum Client hin sagen kannst "Hey neue Nachricht da!", da HTTP ein zustandloses Protokoll ist und die Verbindung nach einer Abfrage getrennt wird.

      das halt ich für ein gerücht
      en.wikipedia.org/wiki/Push_technology#HTTP_server_push
      bzw. en.wikipedia.org/wiki/WebSocket
      sprich, man muss nicht die verbindung nachen einem request-response-zyclus trennen.. das ist nur meistens der Fall
      Okay, dennoch wird es sich dann damit beschäftigen müssen und ob das dann soviel einfach ist, als sich direkt selber mit TCP zu beschäftigen ist noch die Frage. Zumal Push nicht von jedem Browser unterstützt wird und die meisten HTTP-Server eine maximal Laufzeit für Skripte definiern und so ein Server ja im Grunde dauerhaft hören muss und nicht nur für n-Sekunden. Im Grunde ist WebSocket von dem was ich da jetzt drüber gelesen habe auch nix anderes als das Wrappen von normalen Sockets, so dass Clientscripts drauf zu greifen können.
      @Xaw.4 ich weiß ja nicht wie viel Ahnung bzw wie viel du mit php schon gearbeitet hast.
      Aber PHP stößt nicht so schnell an seine Grenzen.
      PHP kann vom Speed her durchaus mit Java mithalten.

      @Ennosuke WebSockets sind in der Tat einfach nur ein JavaScript Wrapper für die normalen Socket Funktionen.
      Allerdings ist das eine gigantische neuerung und kann der interaktivität viel mehr Spielraum verschaffen da man vorher immer ein PHP script als vermittler nutzen musste.
      Sprich alles wird einfacher und immens schneller mit Sockets.

      Aber genug davon.
      Ich kann euch allen nur mal empfehlen euch Meteor.js und Node.js anzugucken.
      Sehr simpel, reines JavaScript und effizient.
      Man kann mit reinem Javascript nen kompletten chat basteln ohne eine DB oder andere Sprachen zu nutzen.
      Natürlich muss dafür auch ein Moderner Browser her. IE 8 kann den Chat nicht mehr ausführen.

      Wir setzen auf einen Java Server, MySql DB, JavaScript mit Websockets und PHP als forwarder falls der Browser zu alt für Websockets ist.
      Das Layout ist natürlich mit HTML und CSS3 geschustert.

      hangman schrieb:

      Wenn es bei der deutschen Sprache eine Syntax Prüfung gäbe, wären so einige Menschen stumm