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...

Ramadhan 1435H & Silaturahmi keluarga

Baju baru alhamdulillah, tuk dipakai di hari raya, Tak punya pun tak apa-apa, masih ada baju yang lama. Sepatu baru alhamdulillah, tuk dipakai di hari raya, Tak punya pun tak apa-apa, masih ada sepatu yang lama. Kue baru alhamdulillah, tuk dimakan di hari raya, Tak punya pun tak apa-apa, masih ada kue yang lama. /wahaha Alhamdulillah, tidak terasa ramadhan telah berlalu. Rasa syukur ku kepada Allah SWT. karena telah diberi kesempatan untuk bisa bertemu ramadhan tahun ini sampai selesai. Meskipun Ramadhan udah selesai, semoga hati dan jiwa tetap fitri dan selalu terjaga. Ramadhan kali ini sangat menyenangkan meskipun setengahnya aku jalanin tanpa keluarga, tanpa sanak saudara yang menemani jerih payah puasa. /sweat Tapi ngga papa, yang penting inti dari ibadah bulan ramadhan tetep didapat. #intinya apa ya? Seperti ramadhan-ramadhan sebelumnya, setiap satu minggu sebelum lebaran ibu (dan aku) pasti bikin kue-kue penghias meja. Kali ini pun sama. Aksi bikin kue pun terjadi...