Skip to main content

Client Server MineSweeper source code in Java with remote method invocation

First Create a project with these 3 class.
1.game.java
2.RmiClient.java
3.ReceiveMessageInterface.java


/**
 * @(#)game.java

 *

 *

 * @author sharma

 * @version 1.00 2011/5/5

 */

 import java.rmi.*;

import java.awt.BorderLayout;

import java.awt.Color;

import javax.swing.JFrame;

import javax.swing.JTabbedPane;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JButton;

import javax.swing.SwingConstants;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.awt.Transparency;

import javax.swing.event.*;

import java.sql.*;

import java.util.*;

import java.net.URL;

import javax.imageio.ImageIO;

import java.lang.*;





import java.io.*;

import javax.swing.BoxLayout;



public class game extends JFrame {

    

    RmiClient rm;

    JLabel name = new JLabel();

    JPanel jPanel1 = new JPanel();

    JLabel jLabel4 = new JLabel();

    JLabel jLabel5 = new JLabel();

    JLabel jLabel6 = new JLabel();

    JLabel jLabel7 = new JLabel();

    JLabel jLabel8 = new JLabel();

    JTextField takip = new JTextField();

    JTextField scor = new JTextField();

    

    JButton sig = new JButton();

    JButton close = new JButton();

//    JButton l[] = new JButton(100);

    JButton l1 = new JButton();

    JButton l2 = new JButton();

    JButton l3 = new JButton();

    JButton l4 = new JButton();

    JButton l5 = new JButton();

    JButton l6 = new JButton();

    JButton l7 = new JButton();

    JButton l8 = new JButton();

    JButton l9 = new JButton();

    JButton l10 = new JButton();

    JButton l11 = new JButton();

    JButton l12 = new JButton();

    JButton l13 = new JButton();

    JButton l14 = new JButton();

    JButton l15 = new JButton();

    JButton l16 = new JButton();

    JButton l17 = new JButton();

    JButton l18 = new JButton();

    JButton l19 = new JButton();

    JButton l20 = new JButton();

    JButton l21 = new JButton();

    JButton l22 = new JButton();

    JButton l23 = new JButton();

    JButton l24 = new JButton();

    JButton l25 = new JButton();

    JButton l26 = new JButton();

    JButton l27 = new JButton();

    JButton l28 = new JButton();

    JButton l29 = new JButton();

    JButton l30 = new JButton();

    JButton l31 = new JButton();

    JButton l32 = new JButton();

    int real = 0;

    public game() {

        

        setTitle("Game");

        setSize(600,453);

        setLocation(220,100);

        

        setUndecorated(true);

        getRootPane().setWindowDecorationStyle(JRootPane.FRAME);

        setVisible(true);

        jbinit();

        

    }

    

    void jbinit()

    {

         this.setResizable(false);

         this.getContentPane().setLayout(null);

         

         takip.setText("");

         takip.setFont(new java.awt.Font("Dialog", 1, 14));

         takip.setBounds(new Rectangle(8, 18,184, 21));

        

         sig.setText("Start");

         sig.setBounds(new Rectangle(258, 18,106, 21));

         sig.addActionListener(new st_actionAdapter(this)); 

         

         close.setText("Reset");

         close.setBounds(new Rectangle(408, 18,106, 21));

         close.addActionListener(new cl_actionAdapter(this)); 

         

         name.setText("Score :");

         name.setFont(new java.awt.Font("Dialog", 1, 14));

         name.setBounds(new Rectangle(258, 68,184, 21));

         

         scor.setText("");

         scor.setFont(new java.awt.Font("Dialog", 1, 14));

         scor.setBounds(new Rectangle(320, 68,184, 21));

         

         l1.setText("a");

         l1.setFont(new java.awt.Font("Dialog", 1, 12));

         l1.setBounds(new Rectangle(8,48,50,28));

         l1.addActionListener(new but_actionAdapter(this));

         

         l2.setText("b");

         l2.setFont(new java.awt.Font("Dialog", 1, 12));

         l2.setBounds(new Rectangle(58,48,50,28));

         l2.addActionListener(new but_actionAdapter(this));

         

         l3.setText("c");

         l3.setFont(new java.awt.Font("Dialog", 1, 12));

         l3.setBounds(new Rectangle(108,48,50,28));

         l3.addActionListener(new but_actionAdapter(this));

         

         l4.setText("d");

         l4.setFont(new java.awt.Font("Dialog", 1, 12));

         l4.setBounds(new Rectangle(158,48,50,28));

         l4.addActionListener(new but_actionAdapter(this));

         

         l5.setText("e");

         l5.setFont(new java.awt.Font("Dialog", 1, 12));

         l5.setBounds(new Rectangle(8,78,50,28));

         l5.addActionListener(new but_actionAdapter(this));

  

         l6.setText("f");

         l6.setFont(new java.awt.Font("Dialog", 1, 12));

         l6.setBounds(new Rectangle(58,78,50,28)); 

         l6.addActionListener(new but_actionAdapter(this));

         

         l7.setText("g");

         l7.setFont(new java.awt.Font("Dialog", 1, 12));

         l7.setBounds(new Rectangle(108,78,50,28));

         l7.addActionListener(new but_actionAdapter(this));

         

         l8.setText("h");

         l8.setFont(new java.awt.Font("Dialog", 1, 12));

         l8.setBounds(new Rectangle(158,78,50,28));            

         l8.addActionListener(new but_actionAdapter(this));

         

         l9.setText("i");

         l9.setFont(new java.awt.Font("Dialog", 1, 12));

         l9.setBounds(new Rectangle(8,108,50,28));

         l9.addActionListener(new but_actionAdapter(this));

         

         l10.setText("j");

         l10.setFont(new java.awt.Font("Dialog", 1, 12));

         l10.setBounds(new Rectangle(58,108,50,28));

         l10.addActionListener(new but_actionAdapter(this));

         

         l11.setText("k");

         l11.setFont(new java.awt.Font("Dialog", 1, 12));

         l11.setBounds(new Rectangle(108,108,50,28));

         l11.addActionListener(new but_actionAdapter(this));

         

         l12.setText("l");

         l12.setFont(new java.awt.Font("Dialog", 1, 12));

         l12.setBounds(new Rectangle(158,108,50,28));

         l12.addActionListener(new but_actionAdapter(this));

         

         l13.setText("m");

         l13.setFont(new java.awt.Font("Dialog", 1, 12));

         l13.setBounds(new Rectangle(8,138,50,28));

         l13.addActionListener(new but_actionAdapter(this));

         

         l14.setText("n");

         l14.setFont(new java.awt.Font("Dialog", 1, 12));

         l14.setBounds(new Rectangle(58,138,50,28));

         l14.addActionListener(new but_actionAdapter(this));

         

         l15.setText("o");

         l15.setFont(new java.awt.Font("Dialog", 1, 12));

         l15.setBounds(new Rectangle(108,138,50,28));

         l15.addActionListener(new but_actionAdapter(this));

         

         l16.setText("p");

         l16.setFont(new java.awt.Font("Dialog", 1, 12));

         l16.setBounds(new Rectangle(158,138,50,28));

         l16.addActionListener(new but_actionAdapter(this));

         

         l17.setText("q");

         l17.setFont(new java.awt.Font("Dialog", 1, 12));

         l17.setBounds(new Rectangle(8,168,50,28));

         l17.addActionListener(new but_actionAdapter(this));

         

         l18.setText("r");

         l18.setFont(new java.awt.Font("Dialog", 1, 12));

         l18.setBounds(new Rectangle(58,168,50,28));

         l18.addActionListener(new but_actionAdapter(this));

         

         l19.setText("s");

         l19.setFont(new java.awt.Font("Dialog", 1, 12));

         l19.setBounds(new Rectangle(108,168,50,28));

         l19.addActionListener(new but_actionAdapter(this));

         

         l20.setText("t");

         l20.setFont(new java.awt.Font("Dialog", 1, 12));

         l20.setBounds(new Rectangle(158,168,50,28));

         l20.addActionListener(new but_actionAdapter(this));

         

         l21.setText("u");

         l21.setFont(new java.awt.Font("Dialog", 1, 12));

         l21.setBounds(new Rectangle(8,198,50,28));

           l21.addActionListener(new but_actionAdapter(this));

          

         l22.setText("v");

         l22.setFont(new java.awt.Font("Dialog", 1, 12));

         l22.setBounds(new Rectangle(58,198,50,28)); 

         l22.addActionListener(new but_actionAdapter(this));

         

         l23.setText("w");

         l23.setFont(new java.awt.Font("Dialog", 1, 12));

         l23.setBounds(new Rectangle(108,198,50,28));

         l23.addActionListener(new but_actionAdapter(this));

         

         l24.setText("x");

         l24.setFont(new java.awt.Font("Dialog", 1, 12));

         l24.setBounds(new Rectangle(158,198,50,28));            

         l24.addActionListener(new but_actionAdapter(this));

         

         l25.setText("y");

         l25.setFont(new java.awt.Font("Dialog", 1, 12));

         l25.setBounds(new Rectangle(8,228,50,28));

         l25.addActionListener(new but_actionAdapter(this));

         

         l26.setText("z");

         l26.setFont(new java.awt.Font("Dialog", 1, 12));

         l26.setBounds(new Rectangle(58,228,50,28));

         l26.addActionListener(new but_actionAdapter(this));

         

         l27.setText("A");

         l27.setFont(new java.awt.Font("Dialog", 1, 12));

         l27.setBounds(new Rectangle(108,228,50,28));

         l27.addActionListener(new but_actionAdapter(this));

         

         l28.setText("B");

         l28.setFont(new java.awt.Font("Dialog", 1, 12));

         l28.setBounds(new Rectangle(158,228,50,28));

         l28.addActionListener(new but_actionAdapter(this));

         

         l29.setText("C");

         l29.setFont(new java.awt.Font("Dialog", 1, 12));

         l29.setBounds(new Rectangle(8,258,50,28));

         l29.addActionListener(new but_actionAdapter(this));

         

         l30.setText("D");

         l30.setFont(new java.awt.Font("Dialog", 1, 12));

         l30.setBounds(new Rectangle(58,258,50,28));

         l30.addActionListener(new but_actionAdapter(this));

         

         l31.setText("E");

         l31.setFont(new java.awt.Font("Dialog", 1, 12));

         l31.setBounds(new Rectangle(108,258,50,28));

         l31.addActionListener(new but_actionAdapter(this));

         

         l32.setText("F");

         l32.setFont(new java.awt.Font("Dialog", 1, 12));

         l32.setBounds(new Rectangle(158,258,50,28));

         l32.addActionListener(new but_actionAdapter(this));

         

         this.getContentPane().add(scor,null);

         this.getContentPane().add(name,null);

         this.getContentPane().add(takip,null);

         this.getContentPane().add(sig,null);

         this.getContentPane().add(close,null);

         this.getContentPane().add(l1,null);

         this.getContentPane().add(l2,null);

         this.getContentPane().add(l3,null);

         this.getContentPane().add(l4,null);

         this.getContentPane().add(l5,null);

         this.getContentPane().add(l6,null);

         this.getContentPane().add(l7,null);

         this.getContentPane().add(l8,null);

         this.getContentPane().add(l9,null);

         this.getContentPane().add(l10,null);

         this.getContentPane().add(l11,null);

         this.getContentPane().add(l12,null);

         this.getContentPane().add(l13,null);

         this.getContentPane().add(l14,null);

         this.getContentPane().add(l15,null);

         this.getContentPane().add(l16,null);

         this.getContentPane().add(l17,null);

         this.getContentPane().add(l18,null);

         this.getContentPane().add(l19,null);

         this.getContentPane().add(l20,null);

         this.getContentPane().add(l21,null);

         this.getContentPane().add(l22,null);

         this.getContentPane().add(l23,null);

         this.getContentPane().add(l24,null);

         this.getContentPane().add(l25,null);

         this.getContentPane().add(l26,null);

         this.getContentPane().add(l27,null);

         this.getContentPane().add(l28,null);

         this.getContentPane().add(l29,null);

         this.getContentPane().add(l30,null);

         this.getContentPane().add(l31,null);

         this.getContentPane().add(l32,null);

             

    }

    

    public static void main (String[] args) {

        

        game gm = new game();

}



void clik_action(ActionEvent e)

{

    System.out.println(""+e.getActionCommand());

    //rm.all(e.getActionCommand());

  

    String pc="",rp="",mp="",gp="";

    int i,j=0,l=0;

    char c;

    mp += e.getActionCommand();

    

    for(i=97;i<=122;i++)

    {

       rp = "";

       c = (char)i;

       rp += c;

       l = i - 96;

       if(rp.equals(mp))

       {

           j = 1;

           System.out.println(l+" "+rp);

           break;

       }

       

    }

    

    if(j != 1)

    for(i=65;i<=70;i++)

    {

       rp = "";

       c = (char)i;

       rp += c;

       l = i - 38;

       if(rp.equals(mp))

       {

           System.out.println(l+" "+rp);

           break;

       }

       

    }

    

        

    pc = Integer.toString(l);

    gp = rm.all(pc);

    

    if(gp.equals(":)"))

    {

    

        l1.setText(rm.all("1"));l2.setText(rm.all("2"));l3.setText(rm.all("3"));l4.setText(rm.all("4"));

        l5.setText(rm.all("5"));l6.setText(rm.all("6"));l7.setText(rm.all("7"));l8.setText(rm.all("8"));

        l9.setText(rm.all("9"));l10.setText(rm.all("10"));l11.setText(rm.all("11"));l12.setText(rm.all("12"));

        l13.setText(rm.all("13"));l14.setText(rm.all("14"));l15.setText(rm.all("15"));l16.setText(rm.all("16"));

        l17.setText(rm.all("17"));l18.setText(rm.all("18"));l19.setText(rm.all("19"));l20.setText(rm.all("20"));

        l21.setText(rm.all("21"));l22.setText(rm.all("22"));l23.setText(rm.all("23"));l24.setText(rm.all("24"));

        l25.setText(rm.all("25"));l26.setText(rm.all("26"));l27.setText(rm.all("27"));l28.setText(rm.all("28"));

        l29.setText(rm.all("29"));l30.setText(rm.all("30"));l31.setText(rm.all("31"));l32.setText(rm.all("32"));

    }

    if(l == 1){l1.setBackground(Color.cyan);l1.setText(gp);}if(l == 17){l17.setText(gp);setBackground(Color.cyan);}

    if(l == 2){l2.setBackground(Color.cyan);l2.setText(gp);}if(l == 18){l18.setBackground(Color.cyan);l18.setText(gp);}

    if(l == 3){l3.setBackground(Color.cyan);l3.setText(gp);}if(l == 19){l19.setText(gp);l19.setBackground(Color.cyan);}

    if(l == 4){l4.setBackground(Color.cyan);l4.setText(gp);}if(l == 20){l20.setBackground(Color.cyan);l20.setText(gp);}

    if(l == 5){l5.setBackground(Color.cyan);l5.setText(gp);}if(l == 21){l21.setBackground(Color.cyan);l21.setText(gp);}

    if(l == 6)l6.setText(gp);if(l == 22)l22.setText(gp);

    if(l == 7)l7.setText(gp);if(l == 23)l23.setText(gp);

    if(l == 8)l8.setText(gp);if(l == 24)l24.setText(gp);

    if(l == 9)l9.setText(gp);if(l == 25)l25.setText(gp);

    if(l == 10)l10.setText(gp);if(l == 26)l26.setText(gp);

    if(l == 11)l11.setText(gp);if(l == 27)l27.setText(gp);

    if(l == 12)l12.setText(gp);if(l == 28)l28.setText(gp);

    if(l == 13)l13.setText(gp);if(l == 29)l29.setText(gp);

    if(l == 14)l14.setText(gp);if(l == 30)l30.setText(gp);

    if(l == 15)l15.setText(gp);if(l == 31)l31.setText(gp);

    if(l == 16)l16.setText(gp);if(l == 32)l32.setText(gp);

    

    if(!gp.equals(":)"))

    {

     int m = Integer.parseInt(gp); 

     String iq ="";

     real += m;

     iq = Integer.toString(real);

     scor.setText(iq);

    }

    if(gp.equals(":)"))

    {

        for(i=1;i<=32;i++)

        {

        //    if()

        }

        scor.setText("You Lose!");

    }

   

    

    //System.out.println(""+sp);

    

}

    

void st_action(ActionEvent e)

{

   String st = "";

   st = takip.getText();

   System.out.println(""+st);    

    rm = new RmiClient(st);

}   



void cl_action(ActionEvent e)

{

    

    try

    {

    rm.rmiServer.receiveMessage("Connect");

    }

    catch(RemoteException ee)

    {

    }

    

    real = 0;

    l1.setText("a");l17.setText("q");

    l2.setText("b");l18.setText("r");

    l3.setText("c");l19.setText("s");

    l4.setText("d");l20.setText("t");

    l5.setText("e");l21.setText("u");

    l6.setText("f");l22.setText("v");

    l7.setText("g");l23.setText("w");

    l8.setText("h");l24.setText("x");

    l9.setText("i");l25.setText("y");

    l10.setText("j");l26.setText("z");

    l11.setText("k");l27.setText("A");

    l12.setText("l");l28.setText("B");

    l13.setText("m");l29.setText("C");

    l14.setText("n");l30.setText("D");

    l15.setText("o");l31.setText("E");

    l16.setText("p");l32.setText("F");

    scor.setText("");

}    

    

}





class but_actionAdapter implements java.awt.event.ActionListener {

  game adaptee;



  but_actionAdapter(game adaptee) {

    this.adaptee = adaptee;

  }

  public void actionPerformed(ActionEvent e) {

    adaptee.clik_action(e);

  }

}



class st_actionAdapter implements java.awt.event.ActionListener {

  game adaptee;



    st_actionAdapter(game adaptee) {

    this.adaptee = adaptee;

  }

  public void actionPerformed(ActionEvent e) {

    adaptee.st_action(e);

  }

}



class cl_actionAdapter implements java.awt.event.ActionListener {

  game adaptee;



  cl_actionAdapter(game adaptee) {

    this.adaptee = adaptee;

  }

  public void actionPerformed(ActionEvent e) {

    adaptee.cl_action(e);

  }

}



***********************************************************************************
import java.rmi.*;

import java.rmi.registry.*;

import java.net.*;

import java.io.*;

import java.awt.BorderLayout;

import java.awt.Color;

import javax.swing.JFrame;

import javax.swing.JTabbedPane;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JButton;

import javax.swing.SwingConstants;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.awt.Transparency;

import javax.swing.event.*;

import java.sql.*;

import java.util.*;

import java.net.URL;

import javax.imageio.ImageIO;

import java.lang.*;

import javax.swing.BoxLayout;



public class RmiClient

{

       ReceiveMessageInterface rmiServer;

       Registry registry;

       String sp="";

       String serverPort="8000";

       String line="some thing";

   

    public RmiClient(String serverAddress)

    {

      

         try

         {

           // get the “registry”

           registry=LocateRegistry.getRegistry(serverAddress,(new Integer(serverPort)).intValue());

           // look up the remote object

           rmiServer =(ReceiveMessageInterface)(registry.lookup("rmiServer"));

           rmiServer.receiveMessage("Connect");

           System.out.println("Connected to :"+serverAddress);

           

         }

            catch(RemoteException e){

           e.printStackTrace();

       }

          catch(NotBoundException e){

           e.printStackTrace();

       }



         

     }

     

     public String all(String gp)

     {

         try{

         

           // call the remote method

           rmiServer.receiveMessage(gp);

           sp = rmiServer.sendMessage();

           

           System.out.println("Sending :"+gp);

           System.out.println("From Server "+sp);

     

       }

       catch(RemoteException e){

           e.printStackTrace();

       }

       return sp;

    }

}


***********************************************************************************
import java.rmi.*;



public interface ReceiveMessageInterface extends Remote

{



   void receiveMessage(String x) throws RemoteException;

    public String sendMessage() throws RemoteException;



}


***********************************************************************************

For server side.....
Create project with 2 java class
1.ReceiveMessageInterface.java
2.RmiServer.java


import java.rmi.*;



public interface ReceiveMessageInterface extends Remote

{



   void receiveMessage(String x) throws RemoteException;

    public String sendMessage() throws RemoteException;



}




***********************************************************************************
import java.rmi.*;

import java.rmi.registry.*;

import java.rmi.server.*;

import java.net.*;

import java.io.*;

import java.util.Random;





public class RmiServer extends java.rmi.server.UnicastRemoteObject implements ReceiveMessageInterface

{



    int thisPort,c = 0,p=0;

    String thisAddress,st="";

    Registry registry;    // rmi registry for lookup the remote objects.

    char[][] input = new char[100][100];

    int[][] val = new int[100][100];

    Random generator = new Random();



    // This method is called from the remote client by the RMI.



    // This is the implementation of the “ReceiveMessageInterface”.



    public void receiveMessage(String x) throws RemoteException

    {

        st = ""; 

        System.out.println(x);

        if(x.equals("Connect"))

        {

            int i,j,k,l=0,mo,r=0,g;

            k = 2;

             mo = generator.nextInt( 7 );

            for(i=0;i<8;i++)

            {

                ++r;

                g = mo % r;

                System.out.print(""+r);

                for(j=0;j<4;j++)

                {

                    if(l == k+g)

                    {

                        l = 0;

                        input[i][j] = '*';

                    }

                    else

                    {

                        input[i][j] = '.';

                    }    

                        ++l;

                }

            }

            

            // calculate

            int p,xx,yy,v;

            int px[] = {-1,-1,-1,0,0,1,1,1};

            int py[] = {0,1,-1,-1,1,-1,0,1};

            for(i=0;i<8;i++)

            {

                for(j=0;j<4;j++)

                {

                    if(input[i][j] == '.')

                    {

                        v = 0;

                        for(p=0;p<8;p++)

                        {

                            xx = i + px[p];

                            yy = j + py[p];

                            if(xx >=0 && xx <= 8 && yy >=0 && yy <= 3)

                            {

                                if(input[xx][yy] == '*')

                                {

                                    ++v;

                                }    

                            }

                        }

                        val[i][j] = v;

                    }

                    if(input[i][j] == '*')

                    {

                        val[i][j] = -1;

                    }

                }

            }

            

        }

        st += x;



    }

    

   

    public String sendMessage() throws RemoteException

    {

  

       

       int i,j,k;

       k = Integer.parseInt(st);

       k = k-1;

       j = k % 4;

       i = k/4;

       

       if(val[i][j] == -1)

       {

              st = ":)";

       }

       else

       {

              st = Integer.toString(val[i][j]);

       }

       return st;

    }







    public RmiServer() throws RemoteException

    {



        try{



            // get the address of this host.



            thisAddress= (InetAddress.getLocalHost()).toString();



        }



        catch(Exception e){



            throw new RemoteException("can't get inet address.");



        }



              thisPort=8000;  // this port(registry’s port)



        System.out.println("this address="+thisAddress+",port="+thisPort);



        try{



        // create the registry and bind the name and object.



            registry = LocateRegistry.createRegistry( thisPort );



            registry.rebind("rmiServer", this);



        }



        catch(RemoteException e){



        throw e;



        }



    }



   



    static public void main(String args[])

    {



        try

        {



        RmiServer s=new RmiServer();



       }



    catch (Exception e) {



           e.printStackTrace();



           System.exit(1);



    }



     }



}



***********************************************************************************




Comments

Popular posts from this blog

UDP server client in c

Server #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <stdio.h> #include <unistd.h> #include <errno.h> #include <string.h> #include <stdlib.h> int main() {         int sock;         int addr_len, bytes_read;         char recv_data[1024],send_data[1024];         struct sockaddr_in server_addr , client_addr;         if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {             perror("Socket");             exit(1);         }         server_addr.sin_family = AF_INET;         server_addr.sin...

My favourite writer Humayun Ahmed

There is none who can replace him.At least the standard which he create in is life time in the running literature it never be replaceable.The new generation which is all the time busy in playing PC games,chatting ,bands etc. only his writing makes them to take a glance on the literature.For example Himu and Misir ali all the time keep them on track by anti-logic and logic.They also have show-down on the novel.I myself read all of the books of Himu and Misir ali and wait for the new one to come every year.Now I have to wait for life time. Except books he makes our dirty film industry pure by his heart warming ,well versed film.Following him many new producer try to make well and good film (not the dirty one) .He also contribute our drama by his dashing drama's. In writing except romance ,logic ,anti-logic ,he also write many science fiction.His brother Sir Dr. Md. Zafar Iqbal is the man who started science fiction in bangla. The list of books: Selected novels • Lilaboti (2...

[ASTERIK] configure: error: *** uuid support not found (this typically means the uuid development package is missing)

ISSUE: Build error on Asterik , when you want test webrtc feature :) checking for uuid_generate_random in -luuid... no checking for uuid_generate_random in -le2fs-uuid... no checking for uuid_generate_random... no configure: error: *** uuid support not found (this typically means the uuid development package is missing) Fix: This issue arises due to missing of UUID generator specified by rfc4122 . +Linux sudo apt-get install uuid-dev  @Unix yum -y install libuuid-devel Asterik comes with lots of helpful script available on - asterisk/contrib/scripts/ folder of your ASTERIK source. So just use the following command on UNIX console to run the asterik pre-requisite script. contrib/scripts/install_prereq install And you are done! configuring. Now -- Make Asterik.