Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedInputStream;
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.io.PrintStream;
- import java.net.ServerSocket;
- import java.net.Socket;
- public class PeerServerThread implements Runnable{
- private ServerSocket server;
- private Socket socket;
- private PrintStream output;
- private int port;
- private BufferedReader input;
- private FileInputStream fin;
- private BufferedInputStream bis;
- private OutputStream os;
- private String path = "/Users/erikcolin/Documents/CS550_PA1_files/Peer";
- public PeerServerThread(Socket peerServer,int p) throws IOException {
- socket = peerServer;
- port = p;
- input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
- output = new PrintStream(socket.getOutputStream());
- }
- @Override
- public void run() {
- // TODO Auto-generated method stub
- try {
- output.flush();
- output.println("You are connected to a Peer on Port: " + port);
- String pid = input.readLine(); //id of this peer that has the file
- String filename = input.readLine(); //file name sent from client peer
- String FILE_PATH = path + pid + "/" + filename;
- File file = new File(FILE_PATH);
- //output.println(path + pid + "/" + filename);
- while(true)
- {
- try {
- fin = new FileInputStream(file);
- byte [] mybytearray = new byte[(int)file.length()];
- bis = new BufferedInputStream(fin);
- bis.read(mybytearray,0,mybytearray.length);
- os = socket.getOutputStream();
- System.out.println("Sending " + FILE_PATH + "(" + mybytearray.length + " bytes)");
- os.write(mybytearray,0,mybytearray.length);
- os.flush();
- System.out.println("DONE");
- }
- finally {
- if (bis != null) bis.close();
- if (os != null) os.close();
- //if (socket!=null) socket.close();
- }
- }
- }
- catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- /*try
- {
- output.println("You are connected to a Peer");
- }
- catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } */
- //output.println("You are connected to a Peer");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement