0% found this document useful (0 votes)
2 views

Java Ass11

The document contains Java programs for TCP and UDP server-client communication. The TCP server validates email addresses, while the UDP server performs similar validation and responds to clients. Each program includes a corresponding client that sends data and receives responses from the server.

Uploaded by

youvamyth
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Java Ass11

The document contains Java programs for TCP and UDP server-client communication. The TCP server validates email addresses, while the UDP server performs similar validation and responds to clients. Each program includes a corresponding client that sends data and receives responses from the server.

Uploaded by

youvamyth
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

1.

Program

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.*;

public class Server {

public static void main(String[] args){


System.out.println("yuvapriya 2022503552");
try{
ServerSocket sc=new ServerSocket(500);
System.out.println("server started");
while(true){
try{
Socket socket=sc.accept();
System.out.println("client accepted");
DataInputStream dis=new
DataInputStream(socket.getInputStream());
DataOutputStream dos=new
DataOutputStream(socket.getOutputStream());
String fromClient=dis.readUTF();
System.out.println(fromClient);
//
String toClient=fromClient.toUpperCase();
dos.writeUTF(toClient);
}catch (Exception e){

}
}
}catch(Exception e){
System.out.println(e);
}
}}

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.Socket;
import java.util.Scanner;

public class Client {


public static void main(String[] args){
try{

Socket st=new Socket("localhost",500);


System.out.println("client requested");
DataInputStream in=new DataInputStream(st.getInputStream());
DataOutputStream out=new DataOutputStream(st.getOutputStream());
Scanner sc=new Scanner(System.in);
String toServer=sc.nextLine();
out.writeUTF(toServer);
System.out.println("sent message");
String fromServer=in.readUTF();
System.out.println(fromServer);

}catch (Exception e){


System.out.println(e);
}
}
}

Output

2.

import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class UDPServer {


public static void main(String[] args) throws Exception {
System.out.println("yuvapriya 2022503552");
DatagramSocket socket = new DatagramSocket(9999);
byte[] toClient=new byte[1024];
byte[] fromClient=new byte[1024];
DatagramPacket dp=new DatagramPacket(fromClient,fromClient.length);
socket.receive(dp);
String str=new String(dp.getData(),0, dp.getLength());
System.out.println(str);
int i=Integer.parseInt(str);
int res=i*i;
toClient=String.valueOf(res).getBytes();
DatagramPacket ds=new
DatagramPacket(toClient,toClient.length,dp.getAddress(),dp.getPort());
socket.send(ds);
System.out.println("sent success"+"\n "+ds.getData());
DatagramPacket dr=new DatagramPacket(fromClient, fromClient.length);
socket.receive(dr);
String str2=new String(dr.getData(),0, dr.getLength());
String strf=str2.toUpperCase();
toClient=strf.getBytes();
DatagramPacket ds2=new
DatagramPacket(toClient,toClient.length,dr.getAddress(),dr.getPort());
socket.send(ds2);

socket.close();
}
}

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class UDPClient {


public static void main(String[] args) throws Exception{
DatagramSocket socket=new DatagramSocket();
byte[] toServer=new byte[1024];
byte[] fromServer=new byte[1024];
int i=8;
String str=new String(String.valueOf(i));
toServer=str.getBytes();
InetAddress ip=InetAddress.getByName("localhost");
DatagramPacket dp=new
DatagramPacket(toServer,toServer.length,ip,9999);
socket.send(dp);
System.out.println("msg sent");
DatagramPacket dr=new DatagramPacket(fromServer, fromServer.length);
socket.receive(dr);
String res=new String(dr.getData(),0, dr.getLength());
System.out.println(res);
String fr="apple";
toServer =fr.getBytes();
DatagramPacket dp2=new DatagramPacket(toServer,
toServer.length,ip,9999);
socket.send(dp2);
DatagramPacket dr2=new DatagramPacket(fromServer,
fromServer.length,ip,9999);
socket.receive(dr2);
String str2=new String(dr2.getData(),0, dr2.getLength());
System.out.println(str2);
socket.close();
}
}

output
3.

import java.io.*;
import java.net.*;

public class TCPServer {


public static void main(String[] args){
System.out.println("yuvapriya 2022503552");
try{
ServerSocket socket=new ServerSocket(9009);
while(true){
try {
Socket csocket=socket.accept();
DataInputStream in=new
DataInputStream(csocket.getInputStream());
DataOutputStream out=new
DataOutputStream(csocket.getOutputStream());
String mail=in.readUTF();

boolean isvalid=valid(mail);
out.writeBoolean(isvalid);
}catch (Exception e){

}
}
}catch (Exception e){

}
}
public static boolean valid(String mail){
if(mail==null || mail.isEmpty())
return false;
int at=mail.indexOf('@');
int dot=mail.lastIndexOf('.');
if(at>0 && dot>at) {
String local = mail.substring(0, at);
String domain = mail.substring(at + 1);
boolean islocal=validLocal(local);
boolean isdomain=validDomain(domain);
return islocal && isdomain;
}
return false;
}
public static boolean validLocal(String local){
for(char c:local.toCharArray()){
if(!(Character.isLetterOrDigit(c) || c=='.' || c=='_')){
return false;
}
}
return true;
}
public static boolean validDomain(String domain){
for(char c:domain.toCharArray()){
if(!(Character.isLetterOrDigit(c) || c=='.' || c=='_')){
return false;
}
}
return !domain.startsWith(".") && !domain.endsWith(".");

}
}

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.Socket;

public class TCPClient {


public static void main(String[] args){
try{
Socket socket=new Socket("localhost",9009);
DataInputStream in=new DataInputStream(socket.getInputStream());
DataOutputStream out=new
DataOutputStream(socket.getOutputStream());
String mail="app@gmail.com";
out.writeUTF(mail);
boolean val=in.readBoolean();
if(val){
System.out.println("Valid mail");
}else{
System.out.println("Invalid mail");
}
}catch (Exception e){
System.out.println(e);
}
}
}

output
4.

Program

package ass10;
import java.net.*;

public class UDPServer {


public static void main(String[] args){
System.out.println("yuvapriya 2022503552");
try{

DatagramSocket socket=new DatagramSocket();


byte[] fromClient=new byte[1024];
byte[] toClient=new byte[1024];
while(true){
DatagramPacket dr=new
DatagramPacket(fromClient,fromClient.length);
socket.receive(dr);
String str=new String(dr.getData(),0,dr.getLength());
Boolean isval=valid(str);
toClient=String.valueOf(isval).getBytes();
DatagramPacket ds=new
DatagramPacket(toClient,toClient.length,dr.getAddress(),dr.getPort());
socket.send(ds);
socket.close();
}
}catch(Exception e){
System.out.println(e);
}
}
public static boolean valid(String mail){
if(mail==null || mail.isEmpty())
return false;
int at=mail.indexOf('@');
int dot=mail.lastIndexOf('.');
if(at>0 && dot>at) {
String local = mail.substring(0, at);
String domain = mail.substring(at + 1);
boolean islocal=validLocal(local);
boolean isdomain=validDomain(domain);
return islocal && isdomain;
}
return false;
}
public static boolean validLocal(String local){
for(char c:local.toCharArray()){
if(!(Character.isLetterOrDigit(c) || c=='.' || c=='_')){
return false;
}
}
return true;
}
public static boolean validDomain(String domain){
for(char c:domain.toCharArray()){
if(!(Character.isLetterOrDigit(c) || c=='.' || c=='_')){
return false;
}
}
return !domain.startsWith(".") && !domain.endsWith(".");

}
}

package ass10;

import java.net.*;

public class UDPClient {


public static void main(String[] args){
try{
DatagramSocket socket=new DatagramSocket();
byte[] toServer=new byte[1024];
byte[] fromServer=new byte[1024];

InetAddress ip=InetAddress.getByName("localhost");
String mail="app@gmail.com";
toServer=mail.getBytes();
DatagramPacket ds=new DatagramPacket(toServer,
toServer.length,ip,9009);
socket.send(ds);
DatagramPacket dr=new DatagramPacket(toServer,
toServer.length);
socket.receive(dr);
String str=new String(dr.getData(),0,dr.getLength());
boolean val=Boolean.parseBoolean(str);
if(val){
System.out.println("Valid mail");
}else{
System.out.println("Invalid mail");
}
}catch (Exception e){
System.out.println(e);
}
}
}

Output

You might also like