Java Tutorial : How To Create Connection With Socket Programming On NetBeans

Words
499
Reading
3 min
Listen
Play
8y

Repository

https://github.com/dmlloyd/openjdk

What Will I Learn?

  • You will learn how to create connection with socket programming
  • You will learn connect two program in one package
  • You will learn how to create method like chatting Apps

Requirements

  • you must know basic of java programming
  • you must know about socket programming
  • you must know how to set port on two program

Difficulty

  • Intermediate

Tutorial Contents

okay, on this occasion I will create a tutorial on how to create a connection using socket programming, socket programming is very widely used in large applications such as chat application or application sender file . and this time I will make the method.


  • the first step you should do is create a new package in NetBeans.

    then name it for the package you have created

  • then create a new class by name server.java

  • then type the program below, I will explain it.
package socketprogramming;
import java.io.*;
import java.net.*;
public class server{
    ServerSocket providerSocket;
    Socket connection = null;
    ObjectOutputStream out;
    ObjectInputStream in;
    String message;
    server(){}
    void run()
    {
        try{
            providerSocket = new ServerSocket(2004, 10);
            System.out.println("Waiting for connection");
            connection = providerSocket.accept();
            System.out.println("Connection with IP " + connection.getInetAddress().getHostName());
            out = new ObjectOutputStream(connection.getOutputStream());
            out.flush();
            in = new ObjectInputStream(connection.getInputStream());
            sendMessage("Program is successful Connected");           
            do{
                try{
                    message = (String)in.readObject();
                    System.out.println("client>" + message);
                    if (message.equals("hi....!"))
                        sendMessage("Hi... to");
                }
                catch(ClassNotFoundException classnot){
                    System.err.println("Data received ");
                }
            }while(!message.equals("bye"));
        }
        catch(IOException ioException){
      }
        finally{
            try{
                in.close();
                out.close();
                providerSocket.close();
            }
            catch(IOException ioException){
            }
        }
    }
    void sendMessage(String msg)
    {
        try{
            out.writeObject(msg);
            out.flush();
            System.out.println("server>" + msg);
        }
        catch(IOException ioException){
        }
    }
    public static void main(String args[])
    {
        server server = new server();
        while(true){
            server.run();
        }
    }
}
  • okay, I'll explain the important parts of the above program:
  • package socketprogramming; this is the declaration of the package name, make sure you create both programs in the same package.
  • import java.io. *; this is a class that works for input and output process.
  • below is the process of creating object socket programming that we will call in the program.
ServerSocket providerSocket;
Socket connection = null;
  • this is the declaration of the input object, output, and to display the message.
ObjectOutputStream out;
ObjectInputStream in;
String message;
  • server () This is a class declaration server.
  • this is the process of calling the object we have created before.
providerSocket = new ServerSocket(2004, 10);
System.out.println("Waiting for connection");
  • connection = providerSocket.accept();this is the process of receiving connections.
  • This works to show that the system has been successfully connected with the IP address that has been determined.
System.out.println("Connection with IP " + connection.getInetAddress().getHostName());
  • below serves to display the input, output and connection
out = new ObjectOutputStream(connection.getOutputStream());
            out.flush();
            in = new ObjectInputStream(connection.getInputStream());
            sendMessage("Program is successful Connected");          
  • this is the conditioning of the situation that occurs when the program is run.
do{
                try{
                    message = (String)in.readObject();
                    System.out.println("client>" + message);
                    if (message.equals("hi....!"))
                        sendMessage("Hi... to"); }
                catch(ClassNotFoundException classnot){
                    System.err.println("Data received ");
                }}while(!message.equals("bye"));
        }catch(IOException ioException){
      }
  • this is to close the programming socket.
in.close();
                out.close();
                providerSocket.close();
  • okay, I think it's enough explanation for the server program, then we will create a class client

  • type the program below for the class client
package socketprogramming;
import java.io.*;
import java.net.*;
public class client{
    Socket requestSocket;
    ObjectOutputStream out;
    ObjectInputStream in;
    String message;
    client(){}
    void run()
    {
        try{requestSocket = new Socket("localhost", 1718);
            System.out.println("Connected to localhost in port 1718");
            out = new ObjectOutputStream(requestSocket.getOutputStream());
            out.flush();
            in = new ObjectInputStream(requestSocket.getInputStream());
            do{
                try{
                    message = (String)in.readObject();
                    System.out.println("server>" + message);
                    sendMessage("Hi my server");
                    message = "bye";
                    sendMessage(message);
                }
                catch(ClassNotFoundException classNot){
                    System.err.println("data received in unknown format");
                }
            }while(!message.equals("bye"));
        }
        catch(UnknownHostException unknownHost){
            System.err.println("You are trying to connect to an unknown host!");
        }
        catch(IOException ioException){ }
        finally{
            try{in.close();
                out.close();
                requestSocket.close();
            }
            catch(IOException ioException){
            }}}
    void sendMessage(String msg)
    {try{
            out.writeObject(msg);
            out.flush();
            System.out.println("client>" + msg);}
        catch(IOException ioException){
        }}public static void main(String args[])
    {   client client = new client();
        client.run();
    }}
  • I do not think much need to explain again to the second program because basically almost the same, but only different in some part only.

  • Socket requestSocket; this is for connection request
  • try {requestSocket = new Socket (" localhost ", 1718); and this is for connection creation
  • System.out.println (" Connected to localhost in port 1718 "); This is for notification that the program is successfully connected.
  • okay, both programs we have created, then we will try to run the program if it will successfully connected.
  • we just to right click on the server program and select run file.

  • if the program successfully connected then it will look like this.
  • Okay, the program is done, thank you for following my tutorial to complete.

Curriculum

Proof of Work Done

https://gist.github.com/andilapulga/35c1d91d6964f05f58654076f93ccd40

Java Tutorial : How To Create Connection With Socket Programming On... | Ecency