how to crate clint-server socket?
Answer / dinesh tiwari
//SERVER code///////////////////////////////
import java.io.*;
import java.net.*;
public class Provider{
ServerSocket providerSocket;
Socket connection = null;
ObjectOutputStream out;
ObjectInputStream in;
String message;
Provider(){}
void run()
{
try{
//1. creating a server socket
providerSocket = new ServerSocket
(2004, 10);
//2. Wait for connection
System.out.println("Waiting for
connection");
connection = providerSocket.accept
();
System.out.println("Connection
received from " + connection.getInetAddress().getHostName
());
//3. get Input and Output streams
out = new ObjectOutputStream
(connection.getOutputStream());
out.flush();
in = new ObjectInputStream
(connection.getInputStream());
sendMessage("Connection
successful");
//4. The two parts communicate via
the input and output streams
do{
try{
message = (String)
in.readObject();
System.out.println
("client>" + message);
if (message.equals
("bye"))
sendMessage
("bye");
}
catch
(ClassNotFoundException classnot){
System.err.println
("Data received in unknown format");
}
}while(!message.equals("bye"));
}
catch(IOException ioException){
ioException.printStackTrace();
}
finally{
//4: Closing connection
try{
in.close();
out.close();
providerSocket.close();
}
catch(IOException ioException){
ioException.printStackTrace
();
}
}
}
void sendMessage(String msg)
{
try{
out.writeObject(msg);
out.flush();
System.out.println("server>" + msg);
}
catch(IOException ioException){
ioException.printStackTrace();
}
}
public static void main(String args[])
{
Provider server = new Provider();
while(true){
server.run();
}
}
}
........................................................
CLIENT CODE
........................................................
import java.io.*;
import java.net.*;
public class Requester{
Socket requestSocket;
ObjectOutputStream out;
ObjectInputStream in;
String message;
Requester(){}
void run()
{
try{
//1. creating a socket to connect
to the server
requestSocket = new Socket
("localhost", 2004);
System.out.println("Connected to
localhost in port 2004");
//2. get Input and Output streams
out = new ObjectOutputStream
(requestSocket.getOutputStream());
out.flush();
in = new ObjectInputStream
(requestSocket.getInputStream());
//3: Communicating with the server
do{
try{
message = (String)
in.readObject();
System.out.println
("server>" + message);
sendMessage("Hi my
server");
message = "bye";
sendMessage
(message);
}
catch
(ClassNotFoundException classNot){
System.err.println
("data received in unknown format");
}
}while(!message.equals("bye"));
}
catch(UnknownHostException unknownHost){
System.err.println("You are trying
to connect to an unknown host!");
}
catch(IOException ioException){
ioException.printStackTrace();
}
finally{
//4: Closing connection
try{
in.close();
out.close();
requestSocket.close();
}
catch(IOException ioException){
ioException.printStackTrace
();
}
}
}
void sendMessage(String msg)
{
try{
out.writeObject(msg);
out.flush();
System.out.println("client>" + msg);
}
catch(IOException ioException){
ioException.printStackTrace();
}
}
public static void main(String args[])
{
Requester client = new Requester();
client.run();
}
}
Is This Answer Correct ? | 2 Yes | 0 No |
Difference between overriding and overloading in java?
What is thread synchronization in java?
Which arithmetic operations can result in the throwing of an arithmeticexception?
What is general methodology?
How do you replace a string in java?
Can we pass null as argument in java?
Does printwriter create a file?
What about features of local inner class?
Explain about instanceof operator in java?
If you are reviewing the code of your team members, what points will you look at, assuming the performance of the application is not so great
why there are multiple catches for a try block.don't tell me that there can be multiple exception of a code segment that's why.tell me the real fact behind this.
What is the difference between yielding and sleeping?