Showing posts with label UDP Chat. Show all posts
Showing posts with label UDP Chat. Show all posts

UDP Chat - User Datagram Protocol - Networks & DBMS Lab - JAVA Program

Program:

// Client Program : client.java

import java.io.*;
import java.net.*;
 
class client
{
    public static void main(String args[]) throws Exception
    {
 
      BufferedReader clientRead =new BufferedReader(new InputStreamReader(System.in));
      DatagramSocket clientSocket = new DatagramSocket();
      InetAddress IP = InetAddress.getByName("127.0.0.1");
      byte[] sendbuffer = new byte[1024];
      byte[] receivebuffer = new byte[1024];
      System.out.print("\nClient: ");
      String clientData = clientRead.readLine();
      sendbuffer = clientData.getBytes();        
      DatagramPacket sendPacket =
      new DatagramPacket(sendbuffer, sendbuffer.length, IP, 9876);
      clientSocket.send(sendPacket);
      DatagramPacket receivePacket =
      new DatagramPacket(receivebuffer, receivebuffer.length);
      clientSocket.receive(receivePacket);
      String serverData = new String(receivePacket.getData());
      System.out.print("\nServer: " + serverData);
      clientSocket.close();
    }
}

// Server Program: server.java

import java.io.*;
import java.net.*;
 
class server
{
  public static void main(String args[]) throws Exception
    {
      DatagramSocket serverSocket = new DatagramSocket(9876);
      byte[] receivebuffer = new byte[1024];
      byte[] sendbuffer  = new byte[1024];
      while(true)
        {
          DatagramPacket recvdpkt = new DatagramPacket(receivebuffer, receivebuffer.length);
          serverSocket.receive(recvdpkt);
          InetAddress IP = recvdpkt.getAddress();
          int portno = recvdpkt.getPort();
          String clientdata = new String(recvdpkt.getData());
          System.out.println("\nClient : "+ clientdata);
          System.out.print("\nServer : ");
          BufferedReader serverRead = new BufferedReader(new InputStreamReader (System.in) );
          String serverdata = serverRead.readLine();
          sendbuffer = serverdata.getBytes();
          DatagramPacket sendPacket = new DatagramPacket(sendbuffer, sendbuffer.length, IP,portno);
          serverSocket.send(sendPacket);
        }
    }
} 

Output:

Terminal 1: (Client) 
nn@linuxmint ~ $ javac client.java
nn@linuxmint ~ $ java client

Client: hi...
  
Server: hello...nn@linuxmint ~ $


Terminal 2: (Server)
nn@linuxmint ~ $ javac server.java
nn@linuxmint ~ $ java server

Client : hi...

Server : hello...

UDP Chat - User Datagram Protocol - Networks & DBMS Lab - C Program



Program :

// Server Program : udps.c

#include<stdio.h>
#include<string.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
main()
{
    struct sockaddr_in client,server;
    int s,n;
    char b1[100],b2[100];
    s=socket(AF_INET,SOCK_DGRAM,0);
    server.sin_family=AF_INET;
    server.sin_port=2000;
    server.sin_addr.s_addr=inet_addr("127.0.0.1");
    bind(s,(struct sockaddr *)&server,sizeof(server));
    printf("\nServer ready,waiting for client....\n");
    n=sizeof(client);
    while(1)
    {
        recvfrom(s,b1,sizeof(b1),0,(struct sockaddr *) &client,&n);
        if(!(strcmp(b1,"end")))
            break;
        printf("\nClient:%s",b1);
        printf("\nServer:");
        gets(b2);
        sendto(s,b2,sizeof(b2),0,(struct sockaddr *) &client,n);
              
    }
 
}

//Client Program : udpc.c

#include<stdio.h>
#include<string.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
main()
{
    struct sockaddr_in client,server;
    int s,n;
    char b1[100],b2[100];
    s=socket(AF_INET,SOCK_DGRAM,0);
    server.sin_family=AF_INET;
    server.sin_port=2000;
    server.sin_addr.s_addr=inet_addr("127.0.0.1");
    printf("\nClient ready....\n");
    n=sizeof(server);
    while(1)
    {
        printf("\nClient:");
        gets(b2);
        sendto(s,b2,sizeof(b2),0,(struct sockaddr *) &server,n);
        if(strcmp(b2,"end")==0)
            break;
        recvfrom(s,b1,sizeof(b1),0,NULL,NULL);
        printf("\nServer:%s",b1);
    }

}

Output:

Terminal 1: (Server)

student@cselab-desktop:~$ gcc udps.c -o server
/tmp/cc30up4j.o: In function `main':
udps.c:(.text+0x129): warning: the `gets' function is dangerous and should not be used.
student@cselab-desktop:~$ ./server

Server ready,waiting for client....

Client:hi...
Server:hi.. hw r u?
   
Client:fine.u?
Server:ok.bye...
     
Client:bye...
Server:end
student@cselab-desktop:~$

Terminal 2 :(Client)
student@cselab-desktop:~$ gcc udpc.c -o client
/tmp/ccfz7pFY.o: In function `main':
udpc.c:(.text+0x8b): warning: the `gets' function is dangerous and should not be used.
student@cselab-desktop:~$ ./client

Client ready....

Client:hi...

Server:hi.. hw r u?
Client:fine.u?

Server:ok.bye...
Client:bye...

   
Server:end
Client:student@cselab-desktop:~$
Related Posts Plugin for WordPress, Blogger...