Question:
Can any one give me a Socket Programming code? ? ?
Tauqeer
2010-05-27 09:12:22 UTC
Create a server and a client using java sockets. The client takes the input characters from the user, it sends the string to the server, server sends the same string back to the client which is then displayed to the user.

It is sooo much helpful if any one give me a complete code of client as well as server. . .
Three answers:
Prince N
2010-05-27 09:17:12 UTC
This example introduces you to Java socket programming. The server listens for a connection. When a connection is established by a client. The client can send data. In the current example the client sends the message "Hi my server". To terminate the connection, the client sends the message "bye". Then the server sends the message "bye" too. Finally the connection is ended and the server waits for an other connection. The two programs should be runned in the same machine. however if you want to run them in two different machines, you may simply change the adress "localhost" by the IP adress of the machine where you will run the server.



The server



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();

}

}

}





The client



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();

}

}
2016-12-04 08:28:46 UTC
there's no longer something interior the c programming language to try this and there on no account would be. you ought to use a library of a few variety; the two area of the working equipment or another library. The specifics of the thank you to do it relies upon on the library.
sspade30
2010-05-27 09:13:59 UTC
that would be pretty helpful.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...