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
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
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="[email protected]";
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="[email protected]";
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