JoD Ep1: Building a Multi-User Chat Application in Java - Part 1: ServerSocket

Поділитися
Вставка
  • Опубліковано 16 вер 2024

КОМЕНТАРІ • 102

  • @Ethanjayc
    @Ethanjayc 2 роки тому +1

    You're explanation is far better than that of my lecturers!
    I don't think I'd be able to actually build my required multi user chatboard without this tutorial. thanks alot

  • @SportSync_official
    @SportSync_official 2 роки тому +2

    This man is awesome he explains everything very good and is patient

  • @kavryo-8871
    @kavryo-8871 5 років тому +8

    YOUR EXPLANATION IS REALLY AWESOME!!!
    I'm working on this group chat application and being a student I've so many doubts... Your video is the only one that I find is very easy to understand....

  • @Someguy15252
    @Someguy15252 6 років тому +8

    Thank you for the detailed and straightforward explanation of how this works, Jim.

  • @Pointofview88
    @Pointofview88 3 роки тому +1

    Best video about Multi-User Chat. Thank You!

  • @bartoszpuszkarski7332
    @bartoszpuszkarski7332 6 років тому +10

    Jim, I have to say that your way of explaining things in this video is awesome - step by step, clearly described! Gread job!

    • @darioslowww6337
      @darioslowww6337 5 років тому +1

      ...and that is really NOT a common thing in the world of IT : a lot of people who study or work in IT can do a lot of "wonderful" things but the 90% of them are totally UNABLE to explain what they're doing and how they're doing it CLEARLY. I think that's a great limit.

  • @baskinlive
    @baskinlive 6 років тому +5

    i used to think coding was so hard until i watched this tutorial i love how you explained everything and how easy it was to understand you

  • @rachelquijano632
    @rachelquijano632 3 роки тому +3

    Thank you so much for this. I'm starting out my first project for my systems programming class and I had no clue where to start. This helped a lot!

  • @rasdavidflorian
    @rasdavidflorian 6 років тому +7

    Hello dear Jim, I´m learning java and English ( at my own ), but i found this video very interesting and complete, thanks for your effort to do that, it was a really simply but excellent explanation of this topic.
    Now i'm able to modify my own code to make a server Apk-
    I'll let you a big like to all your vids.

    • @Summer9604
      @Summer9604 4 роки тому +1

      Nice English, man! 💪

  • @zephaniahsupr581
    @zephaniahsupr581 4 роки тому +2

    All JoD Ep1-5 are so helpful - superb!

  • @yushchenkoalexey
    @yushchenkoalexey 3 роки тому +1

    What an excellent video! Many thanks!

  • @IXellershome
    @IXellershome 5 років тому +3

    for those who use windows: end your string with "
    ", not only "
    ". But the best way is to use System.lineSeparator(); instead of hard-coding.
    I recommend you to read about CRLF and how line separation works on Windows and Unix systems.

    • @andrewborgfjord9397
      @andrewborgfjord9397 5 років тому

      I was just looking at the comments about to ask why he needed the
      . This is my first look at creating a server. What is the reasoning for needing it there? Also for the .getBytes()??

  • @mickdostie
    @mickdostie 4 роки тому +1

    Subscribed after watching this, fantastic explanation.

  • @laurence3796
    @laurence3796 3 роки тому +1

    amazing tutorial

  • @mahdi132
    @mahdi132 3 роки тому +1

    This was amazing thank u so much

  • @quanloithanh3934
    @quanloithanh3934 3 роки тому +1

    Thank you for all of it !!

  • @marlene5547
    @marlene5547 4 роки тому +1

    I loved this. Great explanation :)

  • @Nayapeaks
    @Nayapeaks 5 років тому +1

    very well explained!

  • @manarel-sherif331
    @manarel-sherif331 6 років тому +1

    Thank you so much sir ... you explained it very well ...

  • @cdsami
    @cdsami 5 років тому +1

    Thank you so much, you are my hero

  • @yopyop8175
    @yopyop8175 4 роки тому

    Excellent video

  • @jeffjeong3721
    @jeffjeong3721 5 років тому +1

    you are amazing!!!

  • @tulsikhatri8694
    @tulsikhatri8694 5 років тому +1

    sir project file is not showing in website...
    saying " igfm.co’s server IP address could not be found. "

  • @tulsikhatri8694
    @tulsikhatri8694 5 років тому +2

    Hello sir and everybody...my question is...
    Can you please tell me, is this possible that we send msg from one machine to another machine on different location...?
    Because with me ,it is only working on the localhost, not on the other computer's ip address on different location...
    Please reply...🙏

    • @SL3APYH3AD11
      @SL3APYH3AD11 5 років тому

      The only way that would work is if the two machines are connected to the same local network.

    • @tulsikhatri8694
      @tulsikhatri8694 5 років тому

      @@SL3APYH3AD11 and what about on different network, because on same network of mobile hotspot, two pc were able to communicate with each other... but
      How can i connect with public ip address of a device...?

  • @im3452
    @im3452 5 років тому +1

    I may be a little late but when you say working do you mean it also works for a server lets say in California and a client in Georgia can connect?

    • @JimOnDemand
      @JimOnDemand  5 років тому +2

      Yes, the server can be anywhere as long as it is reachable by the client. This means that server will need a public internet facing IP address (instead of an internet network address such as 192.168.*.* or 10.*.*.*). Also make sure to configure the firewall to open access to the server port.

  • @shivek108
    @shivek108 5 років тому

    Great Video!

  • @shuyangzhu4095
    @shuyangzhu4095 4 роки тому +1

    As you mentioned this can only work for limited number of client. The work around is multitasking io. Could you make a video about that? Thank you

    • @JimOnDemand
      @JimOnDemand  4 роки тому

      I will make a video about it soon.

  • @RenCode
    @RenCode 2 роки тому

    noice

  • @felixclinthorne612
    @felixclinthorne612 5 років тому

    Everything is functioning, however I get the error "Connection refused" on my macbook upon entering "telnet localhost 8818". Is this a common problem? How could I potentially fix it?

  • @seongminchoi202
    @seongminchoi202 5 років тому

    what do you press to do all the cool shortcuts like adding exception automatically..? Is it IntelliJ shortcut or JAVA short cut?

    • @IkeVoodoo
      @IkeVoodoo 4 роки тому

      Java does NOT have any shotcuts whatshoever. if you want shortcuts you are gonna need an editor of code (IDE for short).
      I raccomend taking a looking at:
      www.eclipse.org/
      www.jetbrains.com/idea/
      They are 2 very good editors

  • @samuel64731
    @samuel64731 6 років тому

    Hi thaks for you video.

  • @Tygelin86
    @Tygelin86 5 років тому

    Hi. I have a question about reader.readLine() method, because something doesn't feel right for me. Is this method readLine() works similarly to socket.accept() method in the sense of waiting for input? Because I don't understand how this while loop seems to wait until you write something into the console and after you write your line and line is outputed the line String doesn't become null and while loop doesn't end. Normally it should end before you even start writing because this function is executed after you connect to the server. So something is clearly waiting for input is it readLine()? Or maybe I'm missing something?

    • @JimOnDemand
      @JimOnDemand  5 років тому +1

      reader.readLine() method will block and won't return until either a newline character '
      ' or the underlying input stream is closed. readLine() will return either the whole string line or NULL if the underlying stream is closed.

    • @Tygelin86
      @Tygelin86 5 років тому

      @@JimOnDemand Thanks for clarification. Great video.

  • @techqueries3881
    @techqueries3881 5 років тому

    Hello Jim, just wanted to say very great series! and well explained! I tried going to the link in the description to get hold of the source code, so i can have a play around with it, but the site doesnt load correctly. Is there another link for this please?

  • @abhinavtalari8397
    @abhinavtalari8397 4 роки тому

    After Refactoring the code , there is an error for Socket Closed in the function. How do i tackle that

  • @koleff2541
    @koleff2541 4 роки тому

    Hey Jim! Your tutorial helped me a lot! I was wondering can l make a GUI desktop app and connect me and my friend with this tutorial?

    • @JimOnDemand
      @JimOnDemand  4 роки тому

      Yes! You can create a GUI that runs on multiple desktop machines as long as those machines can connect to the same chat server.

  • @dzentsetsu5607
    @dzentsetsu5607 6 років тому

    Hello Jim, first of all thank you for a great video. My question is what can you reccomend to start using today for a simple network testing. In this video you used telnet. Is there any available equivalent or telnet is fine for such thing?

    • @JimOnDemand
      @JimOnDemand  6 років тому

      I normally use telnet to test if I can connect to a specific port and send data to it. Telnet is good when for text based protocols like regular lines of text, json and xml. Binary data would require something else. There are specific program for testing such as using cURL for HTTP requests.

    • @dzentsetsu5607
      @dzentsetsu5607 6 років тому

      Thanks for the reply

  • @xuanthainguyen6189
    @xuanthainguyen6189 6 років тому

    subcribed!!! thank you so much

  • @CARDSSerus
    @CARDSSerus 4 роки тому +1

    I keep getting "You must supply at least agent names to the text-based client."
    (Eclipse IDE)

  • @ivan_danilkin
    @ivan_danilkin 7 років тому

    Hi!! I can't solve your expression in Eclipse Thread.sleep( millis:1000) throw Exceptions or other things It does not solve.

    • @JimOnDemand
      @JimOnDemand  7 років тому

      Should be just: Thread.sleep(1000);
      IntellJ adds the "millis:" to the IDE display.

    • @ivan_danilkin
      @ivan_danilkin 7 років тому +1

      Thanks!!! I like your channe because of presenting information and quality!!! I'm a beginner that is why your lessons are a important for practicing

    • @JimOnDemand
      @JimOnDemand  7 років тому +1

      Thank you for your kind words.

  • @sudiptoshine9935
    @sudiptoshine9935 6 років тому

    sir its very useful for me.. i'm writing the same code.. bt i use ObjectOuputStream & ObjectInputStream bt it shows some error.. when i send msg its not working.. i trying to findout the bug i failed..

  • @jamalbutt7864
    @jamalbutt7864 4 роки тому

    Are we following any design pattern?

  • @tsendpurevdorj3700
    @tsendpurevdorj3700 7 років тому

    wow

  • @MagnificentCreature
    @MagnificentCreature 4 роки тому

    How do I do this on the eclipse IDE

  • @karthikgr351
    @karthikgr351 4 роки тому

    Can anyone tell me what is terminal in windows

  • @francissalin9869
    @francissalin9869 6 років тому

    how multiple clients can simultaneously connect to same port 80.

    • @JimOnDemand
      @JimOnDemand  6 років тому

      A server socket can accept multiple client connection on the same port.

  • @DAVIDDUDEManoj
    @DAVIDDUDEManoj 6 років тому

    Your work is awesome and appreciative thank you for that...
    I am working on same project(personal) i wanna make client to able to send message to multiple servers
    HOw do i do that??
    some hints will work fine!

  • @kennyjackson19
    @kennyjackson19 4 роки тому

    Can we use react js front end to connect to server socket?

    • @JimOnDemand
      @JimOnDemand  4 роки тому +1

      When using web development frameworks such as React JS, you will want to use WebSockets to create a bi-directional client/server connection. Take a look at this video on how I use WebSockets for browser/server real-time communication. ua-cam.com/video/wpzQa2J0YM8/v-deo.html

    • @kennyjackson19
      @kennyjackson19 4 роки тому +1

      @@JimOnDemand thank you so much you're great

  • @darkjoker7256
    @darkjoker7256 6 років тому

    Hey jim , How can i open the terminal

  • @jamalbutt7864
    @jamalbutt7864 4 роки тому

    Where are other videos Sir? Why are they turned private?

    • @JimOnDemand
      @JimOnDemand  4 роки тому

      You can find all of them here: fullstackmastery.com/courses/MUC

  • @HoaPham-rv6mr
    @HoaPham-rv6mr 4 роки тому

    In youtube some word i don't know i can read subtitle but

  • @darvr4042
    @darvr4042 5 років тому

    Hello, do you still have the files?

  • @ahmedlahmar3218
    @ahmedlahmar3218 4 роки тому

    TCP or UDP? thank you

  • @nidashafeeq9097
    @nidashafeeq9097 6 років тому

    SALAM! sir
    which software i can use for it???it is very helpful for me please reply me soon

    • @JimOnDemand
      @JimOnDemand  6 років тому

      In the video, I am using IntelliJ IDE. You can download the FREE community edition here www.jetbrains.com/idea/download

    • @nidashafeeq9097
      @nidashafeeq9097 6 років тому

      thank u so much sir i am very glad of uuuu

    • @nidashafeeq9097
      @nidashafeeq9097 6 років тому

      sir!how you open the terminal??i can not open it in me laptop please guide me

    • @bluex217
      @bluex217 6 років тому

      Is windows or MAC ?

    • @bluex217
      @bluex217 6 років тому

      Either way you can really just follow along and code the client application which is used to connect to the server app anyway, and test it then with the client side- app

  • @gyoza1027
    @gyoza1027 4 роки тому

    where is part 2?

  • @sidharthsk3807
    @sidharthsk3807 5 років тому

    Does this use SQL ??

    • @JimOnDemand
      @JimOnDemand  5 років тому

      No, this project does not use SQL. This could be something that you can add yourself.

  • @zedzedder1426
    @zedzedder1426 5 років тому

    Thanks for the demonstration. Is this still valid, at the end of 2019? Anybody?!?

    • @JimOnDemand
      @JimOnDemand  5 років тому +2

      Zed Zedder this just a demonstration of Java networking. If i were to create a create a new multi user chat today, I will use WebSockets as a replacement for using TCP/IP direct. WebSockets will be the subject of my next course.

    • @zedzedder1426
      @zedzedder1426 5 років тому +1

      @@JimOnDemand Thanks for answering. I am learning Java, so this seems to be a good project to experiment on the server side. I discovered things that I already "know" but they just fell in place whatching these videos, so now I understand them as well. Thank you for your efforts, it is really helpful. I subscribed.

    • @JimOnDemand
      @JimOnDemand  5 років тому +1

      Zed Zedder thank you for subscribing. Mastery follows practice.

  • @bluex217
    @bluex217 6 років тому

    What is a module

    • @JimOnDemand
      @JimOnDemand  6 років тому +1

      A module is similar to a subproject.

    • @bluex217
      @bluex217 6 років тому

      Thanks and excellent video! I wonder how many Socket connections can weigh on 1 particular port before lag is experienced or something

  • @berkankurt7599
    @berkankurt7599 3 роки тому

    DU EHRENMANN

  • @ArtsiomCharnou
    @ArtsiomCharnou 4 роки тому

    10 dollars for almost 3 year old videos. Sounds fair

    • @JimOnDemand
      @JimOnDemand  4 роки тому +2

      Артём Чернов as developers we should value our skills and time more. Don’t underestimate the amount of time and love that goes into making these videos.

  • @kavyakothari9082
    @kavyakothari9082 6 років тому

    how to run the downloaded project ?

    • @JimOnDemand
      @JimOnDemand  6 років тому

      You need to open the project in IntelliJ IDE www.jetbrains.com/idea/download

    • @kavyakothari9082
      @kavyakothari9082 6 років тому

      JimOnDemand will it run on Android studio ?

    • @JimOnDemand
      @JimOnDemand  6 років тому

      I believe Android Studio is only for Android app development. You can download the free version of IntelliJ IDE to run it.

  • @JimOnDemand
    @JimOnDemand  4 роки тому

    Full course playlist: ua-cam.com/video/NShl9OzlBOg/v-deo.html

  • @kellywilbert4585
    @kellywilbert4585 3 роки тому

    Fantastic.