-
-
Save anonymous/7802c07588beb198b7fd to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.BufferedReader; | |
import java.io.DataOutputStream; | |
import java.io.IOException; | |
import java.io.ObjectInputStream; | |
import java.io.ObjectOutputStream; | |
import java.net.Socket; | |
import java.net.UnknownHostException; | |
import java.util.concurrent.ExecutorService; | |
import java.util.concurrent.Executors; | |
class InWorke implements Runnable{ | |
BufferedReader odczyt=null; | |
String slowo; | |
ObjectInputStream ois=null; | |
Message message; | |
InWorke(ObjectInputStream ois) { | |
this.ois=ois; | |
} | |
public void run() { | |
while(true) { | |
try { | |
System.out.println("Client prepare to read"); | |
slowo = (String) ois.readObject(); | |
System.out.println("Client read: " + slowo); | |
} catch (ClassNotFoundException e) { | |
// TODO Auto-generated catch block | |
e.printStackTrace(); | |
} catch (IOException e) { | |
// TODO Auto-generated catch block | |
e.printStackTrace(); | |
} | |
System.out.println(slowo); | |
Thread.yield(); | |
} } | |
} | |
class OutWorke implements Runnable{ | |
Socket socket=null; | |
BufferedReader odczytWe=null; | |
DataOutputStream zapis=null; | |
String slowo=null; | |
Message message; // it is the simple class to serialization | |
ObjectOutputStream oos; | |
OutWorke(Socket socket, ObjectOutputStream oos) { | |
this.socket=socket; | |
this.oos=oos; | |
} | |
public void run() { | |
P.p("Start out worker client"); | |
while(true) { | |
//odczytWe=new BufferedReader(new InputStreamReader(System.in)); | |
/* | |
try { | |
slowo=odczytWe.readLine(); | |
} catch (IOException e) { | |
// TODO Auto-generated catch block | |
e.printStackTrace(); | |
} | |
*/ | |
slowo = "Hello, world"; | |
System.out.println("Client prepare to send"); | |
try { | |
oos.writeObject(slowo); | |
oos.flush(); | |
System.out.println("Client sent"); | |
} catch (IOException e1) { | |
// TODO Auto-generated catch block | |
e1.printStackTrace(); | |
} | |
Thread.yield(); | |
break; | |
} | |
} | |
} | |
public class Client { | |
public static void main(String[] args) { | |
Socket socket=null; | |
ExecutorService exec= Executors.newCachedThreadPool(); | |
ObjectOutputStream oos=null; | |
ObjectInputStream ois=null; | |
try { | |
socket=new Socket("localhost", 8881); | |
} catch (UnknownHostException e) { | |
// TODO Auto-generated catch block | |
e.printStackTrace(); | |
} catch (IOException e) { | |
// TODO Auto-generated catch block | |
e.printStackTrace(); | |
} | |
try { | |
//wy=socket.getOutputStream(); | |
oos=new ObjectOutputStream(socket.getOutputStream()); | |
oos.flush(); | |
} catch (IOException e) { | |
// TODO Auto-generated catch block | |
e.printStackTrace(); | |
} | |
try { | |
//we=socket.getInputStream(); | |
ois=new ObjectInputStream(socket.getInputStream()); | |
} catch (IOException e) { | |
// TODO Auto-generated catch block | |
e.printStackTrace(); | |
} | |
exec.execute(new OutWorke(socket, oos)); | |
exec.execute(new InWorke(ois)); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.BufferedReader; | |
import java.io.DataOutputStream; | |
import java.io.IOException; | |
import java.io.InputStreamReader; | |
import java.io.ObjectInputStream; | |
import java.io.ObjectOutputStream; | |
import java.net.ServerSocket; | |
import java.net.Socket; | |
import java.util.concurrent.ExecutorService; | |
import java.util.concurrent.Executors; | |
class InWorker implements Runnable{ | |
Socket socket=null; | |
//InputStream we=null; | |
//OutputStream wy=null; | |
String slowo=null; | |
BufferedReader odczyt=null; | |
ObjectOutputStream oos; | |
ObjectInputStream ois; | |
Message message=null; | |
InWorker(Socket socket,ObjectInputStream ois) { | |
this.socket=socket; | |
this.ois=ois; | |
} | |
public void run() { | |
while(true) { | |
try { | |
System.out.println("Server prepare to read"); | |
slowo=(String) ois.readObject(); | |
System.out.println("Server read: " + slowo); | |
} catch (ClassNotFoundException e) { | |
// TODO Auto-generated catch block | |
e.printStackTrace(); | |
} catch (IOException e) { | |
// TODO Auto-generated catch block | |
e.printStackTrace(); | |
} | |
System.out.println(slowo); | |
Thread.yield(); | |
} | |
} | |
} | |
class OutWorker implements Runnable{ | |
DataOutputStream zapis=null; | |
BufferedReader odczyt=null; | |
//OutputStream wy=null; | |
String tekst=null; | |
ObjectOutputStream oos=null; | |
Message message; | |
OutWorker(ObjectOutputStream oos) { | |
this.oos=oos; | |
} | |
public void run() { | |
while(true) { | |
odczyt=new BufferedReader(new InputStreamReader(System.in)); | |
try { | |
tekst=odczyt.readLine(); | |
} catch (IOException e1) { | |
// TODO Auto-generated catch block | |
e1.printStackTrace(); | |
} | |
try { | |
oos.writeObject(tekst); | |
oos.flush(); | |
} catch (IOException e1) { | |
// TODO Auto-generated catch block | |
e1.printStackTrace(); | |
} | |
Thread.yield(); | |
} | |
} | |
} | |
class P { | |
public static void p(Object obj) { | |
System.out.println(obj); | |
} | |
} | |
public class Server { | |
public static void main(String[] args) { | |
ServerSocket serversocket=null; | |
Socket socket=null; | |
//InputStream we=null; | |
//OutputStream wy=null; | |
ObjectOutputStream oos=null; | |
ObjectInputStream ois=null; | |
ExecutorService exec= Executors.newCachedThreadPool(); | |
try { | |
serversocket=new ServerSocket(8881); | |
} catch (IOException e) { | |
// TODO Auto-generated catch block | |
e.printStackTrace(); | |
} | |
try { | |
P.p("Server waits"); | |
socket=serversocket.accept(); | |
P.p("Server got"); | |
} catch (IOException e) { | |
// TODO Auto-generated catch block | |
e.printStackTrace(); | |
} | |
try { | |
oos=new ObjectOutputStream(socket.getOutputStream()); | |
oos.flush(); | |
} catch (IOException e) { | |
// TODO Auto-generated catch block | |
e.printStackTrace(); | |
} | |
try { | |
ois=new ObjectInputStream(socket.getInputStream()); | |
} catch (IOException e) { | |
// TODO Auto-generated catch block | |
e.printStackTrace(); | |
} | |
exec.execute(new InWorker(socket, ois)); | |
exec.execute(new OutWorker(oos)); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment