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

By @lapulga7/3/2018utopian-io

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

32

comments