Skip to main content

Implement a ping server program using TCP socket

Implement a ping server program using a TCP socket



Server-side


import java.net.*;
import java.io.*;
import java.net.SocketException;
import java.util.*;
import java.lang.*;
class pingtcpserver
{
public static void main(String args[]) throws Exception
{
ServerSockets=null;
Socketsoc=null;
String smsg="";
PrintWriter pw;
try
{
s=new ServerSocket(5219);
System.out.println("Connecting with client ....... ");
soc=s.accept();
System.out.println("Connection Established");
BufferedReader brin=new BufferedReader(new InputStreamReader(soc.getInputStream()));
for(int i=0;i<5;i++)
{
pw=new PrintWriter(soc.getOutputStream(),true);
smsg=brin.readLine();
if(i==3)
Thread.sleep(100);
pw.println(smsg);
}}
catch(SocketException e)
{
System.out.println(e);
}
finally
{
s.close();
soc.close();
}}}




Client-side


import java.io.*;
import java.net.*;
import java.net.SocketException;
import java.util.*;
class pingtcpclient
{
public static void main(String args[]) throws Exception
{
Socketsoc=null; try
{
String str="";
String ip="127.0.0.1";
String cmsg="Ping Testing";
intsendcount=0,recvcount=0,lost=0;
long diff=0,avg=0,min=0,max=0,tottime=0;
soc=new Socket("localhost",5219);
BufferedReader in=new BufferedReader( new InputStreamReader(soc.getInputStream())); PrintWriter
pw=new PrintWriter(soc.getOutputStream(),true);
System.out.println("");
System.out.println("Pinging"+" "+ ip+" "+"with"+" "+cmsg.length()+" "+"bytes of data:");
System.out.println("");
for(int i=0;i<5;i++)
{
Date senddate=new Date();
sendcount=sendcount+1;
pw.println(cmsg);
str=in.readLine();
Date receivedate=new Date();
if (!str.equals(""))
{
recvcount=recvcount+1;
}
lost=recvcount-sendcount;
diff=((receivedate.getTime())-(senddate.getTime()));
if(recvcount==1)
{
min=diff;
}
tottime=tottime+diff;
if(diff<min)
{
min=diff;
}
if(diff>max)
{
max=diff;
}
avg=(tottime/recvcount);
if (diff > 2000)
System.out.println("Timeout");
else
System.out.println("Reply from "+ ip +": "+"bytes=" +str.length() +" "+"time<"+diff+ "ms TTL=128");
}//
for System.out.println("");
System.out.println("Ping statistics for "+ip+":");
System.out.println (" Packets: Sent = "+cmsg.length()+", Received= "+str.length() +", Lost= "+
lost+"("+(lost/sendcount)*100+"%loss),");
System.out.println("Approximate round trip times in milli-seconds:");
System.out.println(" Minimum= "+min+"ms, Maximum= "+max+"ms, Average= "+avg+"ms");
}//try
catch(Exception e)
{
System.out.println(e);
}
finally
{
soc.close();
}}}

Comments

Popular posts from this blog

Some special shortcut keys are used in MS WORD এ ব্যবহৃত কয়েকটি বিশেষ শর্টকাট কী

Some special shortcut keys are used in ms word ms word এ ব্যবহৃত কয়েকটি বিশেষ শর্টকাট কী F1 = Help বা Office Assistant পাওয়া যায় F2 = text বা Graphyics স্থানান্তর করে F3 = Auto Text Insert হয় F4 = শেষ কাজটির পুনরাবৃত্তি হয় F5 = Edit মেনুর Go To কম্যান্ড পাওয়া যায় F6 = নতুন ফ্রেমে যাওয়া যায় F7 = Tools মেনুর Spelling কম্যান্ড পাওয়া যায় F8 = কোনো Selection কে বাড়ানো যায় F9 = Select করা field গুলিকে Update করা যায় F10 = মেনুবার Active হয় F11 = পরের Field টিতে যাওয়া যায় F12 = File মেনুর Save As কম্যান্ড পাওয়া যায় Ctrl + Shift + F = Font পাল্টানো যায় Ctrl + Shift + P = Font সাইজ পাল্টানো যায় Ctrl + Shift + > = Font সাইজ বৃদ্ধি হয় Ctrl + Shift + < = Font সাইজ কমিয়ে হয় Ctrl + ] = Font সাইজ 1 Point বাড়ে Ctrl + [ = Font সাইজ 1 Point কমে Ctrl + D = Format মেনুর Font কম্যান্ড পাওয়া যায় Ctrl + F3 = অক্ষরগুলির case পরিবর্তন হয় Ctrl + Shift + A = প্রতিটি অক্ষর capital letter হয় Ctrl + B = লেখাকে bold করার জন্য Ctrl + I = Italics আকার দেওয়ার জন্য Ctrl + U = Underline হয় C...

Photo Composition

Rules are made to be broken but are also made for a reason. Our ‘go to’ is the widely known ‘rule of thirds’ and is considered in the majority of our intentional compositions. But what other compositions do we use? 1 - Golden Spiral : Based on the Fibonacci numbers, this composition uses arcs infinitely resembling a spiral shape, which can be used to create balanced and aesthetically pleasing photos. 2 - Cross : A simple but harmonious composition using two lines, creating a midsection crosshair with the subject in the center of the frame. 3 - Tunnel : Similar to ‘leading lines’ tunnel composition is used to draw your eye to a subject using depth. 4 - L Shape : The L-shape composition appears when the elements create the “L” shape which can be (and often is) multiplied. The static horizontal and vertical lines this kind of composition presents create the feeling of rest, stillness, and harmony. 5 - S Curve : The curved lines in an S-curve composition add a sense of movement to an other...

Concurrency Control

What is Concurrency Control? Concurrency Control in Database Management System is a procedure of managing simultaneous operations without conflicting with each other. It ensures that Database transactions are performed concurrently and accurately to produce correct results without violating data integrity of the respective Database. Concurrent access is quite easy if all users are just reading data. There is no way they can interfere with one another. Though for any practical Database, it would have a mix of READ and WRITE operations and hence the concurrency is a challenge. DBMS Concurrency Control is used to address such conflicts, which mostly occur with a multi-user system. Therefore, Concurrency Control is the most important element for proper functioning of a Database Management System where two or more database transactions are executed simultaneously, which require access to the same data. Potential problems of Concurrency Here, are some issues which you will likely to face wh...