Skip to main content

A Simple Java TCP Client

As followed my post about simple java TCP server and I promised to post about simple java TCP client, so here it is. If you haven't read my simple java TCP server already, then why don't you give it a go. There you'll find how to compile java code that I will not be covering in this post. So go ahead to this post and get back here as soon as you know how to compile java code. If you already know how to do it, then it's okay to continue to read this post.
import java.io.*;
import java.net.*;
import java.util.Scanner;

class Client{
    private static Client client;
    private static int socketNumber = 1234;
    private static Socket clientSocket;

    public Client(){
        try{
            clientSocket = new Socket("localhost", getSocket());
        }catch(Exception e){
            System.out.println("Error."+e.getMessage());
        }
    }

    private int getSocket(){
        Scanner in = new Scanner(System.in);
        System.out.print("Input socket server: ");
        socketNumber = in.nextInt();
        System.out.println("Socket server "+socketNumber+", Ready to send message");
        return socketNumber;
    }

    public static void main(String argv[]) throws Exception{
        client = new Client();
        String sentence;  
        String modifiedSentence;   
        BufferedReader inFromUser = new BufferedReader( new InputStreamReader(System.in));   
        DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());   
        BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));   
        sentence = inFromUser.readLine();   
        outToServer.writeBytes(sentence + '\n');   
        modifiedSentence = inFromServer.readLine();   
        System.out.println("FROM SERVER: " + modifiedSentence);   
        clientSocket.close();
    }
} 
Compile and run the code.
To test this out, we need to run the server as well so go ahead open another terminal and run the server. Put the socket port you want your server will be using and press ENTER Then in your client, put the server port that you just typed in and press ENTER. Now you'll see "Ready to send message" message, it indicates that both client and server are now connected.
Just type something from client then you'll see your message will be appeared in the server side.

To test our server from a different computer, we need know our PC ip address. To find out our IP address, simply type in terminal ipconfig for windows or ifconfig for ubuntu and our IP address is shown next to inet label.
After we know our PC's IP,  open terminal from another computer which runs ubuntu and type in telnet <our ip address> <server port> and we're ready to send message to server.

#source: https://systembash.com/a-simple-java-tcp-server-and-tcp-client/

Comments

Popular posts from this blog

Derita Laptop Ganti: Sahabat Lama Menjadi Asing Bagiku

Sekitar satu tahun yang lalu, aku dan kakakku Mba Lala , tukeran laptop karena ada sedikit masalah dengan OS laptop mba lala, jadi aku memutuskan untuk membawanya buat dibenerin di comlabs aja. Satu tahun berlalu, hari demi hari aku lalui bersama laptop mba lala itu. Susah dan duka (susah dan duka ?) aku lalui bersama laptop toshiba hitam berkulit berudu. Ada kalanya seneng, ada kalanya juga engga. Ada kalanya dia responsif, tapi ada kalanya juga bebel ngambek engga nurut gerakan jari jemari yang bikin hati kesel. Tapi lebih dari itu, tanpa terasa ikatan batin antara aku dan laptop yang engga bisa aktifin bluetooth itu terjalin begitu kuat. Aku seolah tahu dimana letak file movie hanya mengklik ini dan itu dengan mata terpejam bahkan sambil tidur dan mimpi lelap. Aku sudah terbiasa dengan tata letak, environment, dan workspace yang terbangun didalamnya. Dan yang paling penting, laptop tipe satelite itu telah membantuku dalam menyelesaikan berbagai badai tubes dan tucil, membantuku di...

Visiting Animals with My Family

Big day, big day, big day.... /XD Yup, this is a very big day, for me. Why? Because, my parents, and my brother, are coming. I'm pretty excited, but also nervous. You know how it feels when you have a very messy room, and you got your parents are coming? Or you don't know what to do with your family as you have a tiny sized room? Arrhg /shock, it's complicated. But very exciting too. X-D First time of our journey, we were arriving at Sabuga. One of the lovely building style in here (ITB) is the classical stone that covers almost in all the part of the building... Oho, what is this? :P I was not using a professional camera, and I'm not a photographer too, so I couldn't make a good one. hehe. Bye the way, this is under the ground pipe.. Some places in ITB are unique (people said that), and one of them are 'echo point'. This place, if you speak up loud enough, will be able to spread out into all around of ITB and everyone's gonna...

Lakukan Apapun yang Menjadi Renjana-mu Meskipun Hidupmu Semenjana

Judul di atas mungkin sedikit sulit diartikan atau bahkan membingungkan bagi kita. Mungkin ada juga yang mengira kalau aku menyisipkan kata-kata asing atau apa. Padahal sebenarnya, semua deretan kata dalam judul diatas murni bahasa kita tercinta, Bahasa Indonesia. Ya, semuanya kata asli Indonesia. Hanya saja kita tidak terbiasa menggunakannya yang membuat kita merasa asing. Padahal jika aku ganti dengan kata asing, kalimat itu justru tidak asing. Ini nih: "Lakukan Apapun yang Menjadi Passion -Mu Meskipun Hidupmu Biasa-biasa Saja ". Sekarang jauh lebih mudah dimengerti kan? Terlepas apakah kalimat itu punya makna atau tidak, akan tetapi, kita lebih mudah mencerna setiap kata dalam kalimat itu. Hal ini memang miris mengingat kita lebih kenal dan lebih dekat dengan bahasa asing dari pada bahasa asli sendiri yang membuat kita merasa asing dengan bahasa sendiri dan bahasa asing malah tidak terasa asing karena sering kita gunakan. #mbulet-mbulet kalimatnya Sis: "Bro, ...