Practical No. 16
Practical No. 16
Output:
EXRECISE:
Code:
Client Code: {
import java.io.*; System.out.println("It is a
import java.net.*; prime number");
public class udpclient }
{ else
public static void main(String [] {
args) throws Exception System.out.println("It is
{ not a prime number");
int port = 9000; }
Socket s; }
BufferedReader br = new }
BufferedReader(new
InputStreamReader(System.in));
s = new
Socket(InetAddress.getLocalHost(
),port);
PrintWriter pw = new
PrintWriter(new
OutputStreamWriter(s.getOutputS
tream()));
BufferedReader brl = new
BufferedReader(new
InputStreamReader(s.getInputStr
eam()));
System.out.print("Enter any
number: ");
String str = br.readLine();
pw.println(str);
pw.flush();
String msg = brl.readLine();
if(msg.equals("true"))
}
--i;
}
return isPrimeNum;
}
public static void main(String []
args) throws Exception
{
Socket s;
int port = 9000;
Server Code: ServerSocket ss = new
import java.io.*; ServerSocket(port);
import java.net.*; System.out.println("Waiting
public class udpserver for client");
{ s = ss.accept();
public static boolean BufferedReader br = new
isPrime(int number){ BufferedReader(new
boolean isPrimeNum = false; InputStreamReader(s.getInputStr
int i = (int) eam()));
Math.ceil(Math.sqrt(number)); PrintWriter pw = new
while(i>1) PrintWriter(new
{ OutputStreamWriter(s.getOutputS
if((number != i) && tream()));
(number % i ==0)) int num =
{ Integer.parseInt(br.readLine());
isPrimeNum = false; System.out.println("Number
break; sent by client: " + num);
}
else if(!isPrimeNum) pw.println(udpserver.isPrime(num
{ ));
isPrimeNum = true; pw.flush(); }}
Output:
Q2. Write a program using socket and ServerSocket to create
Chat application.
Code:
InetAddress ip =
InetAddress.getByName("localhos dos.writeUTF(msg);
t"); } catch (IOException
e) {
e.printStackTrace(); System.out.println("Creating a
} new handler for this client...");
} ClientHandler mtch = new
} ClientHandler(s,"client " + i, dis,
}); dos);
Thread t = new
sendMessage.start(); Thread(mtch);
readMessage.start();
System.out.println("Adding this
} client to active client list");
} ar.add(mtch);
t.start();
Server Code: i++;
import java.io.*; }
import java.util.*; }
import java.net.*; }
public class Server class ClientHandler implements
{ Runnable
static Vector<ClientHandler> ar {
= new Vector<>(); Scanner scn = new
Scanner(System.in);
private String name;
static int i = 0; final DataInputStream dis;
public static void main(String[] final DataOutputStream dos;
args) throws IOException Socket s;
{ boolean isloggedin;
public ClientHandler(Socket s, String MsgToSend =
String name, st.nextToken();
String recipient =
DataInputStream dis, st.nextToken();
DataOutputStream dos) { for (ClientHandler mc :
this.dis = dis; Server.ar)
this.dos = dos; {
this.name = name; if
this.s = s; (mc.name.equals(recipient) &&
this.isloggedin=true; mc.isloggedin==true)
} {
public void run() {
String received; mc.dos.writeUTF(this.name+" :
while (true) "+MsgToSend);
{ break;
try }
{ }
received = } catch (IOException e) {
dis.readUTF();
e.printStackTrace();
System.out.println(received); }
}
if(received.equals("logout")){ try
this.isloggedin=false; {
this.s.close(); this.dis.close();
break; this.dos.close();
} }catch(IOException e){
StringTokenizer st = e.printStackTrace();
new StringTokenizer(received, }
"#"); }
}
Output: