import java.net.*;
import java.io.*;
public class Sever {
public static void main(String[] args){
File sfl = null;
try{
ServerSocket server =new ServerSocket(10001);
System.out.println("[Server]:접속을 기다립니다");
Socket sock =server.accept();
InetAddress inetaddr =sock.getInetAddress();
System.out.println("[IP]:"+inetaddr.getHostAddress()+" [PORT]:"+sock.getPort()+" 로부터 접속!!");
String fileName = inetaddr.getHostAddress()+"_"+ sock.getPort();
sfl = new File("C:\\Documents and Settings\\mina\\workspace\\Echo\\src\\",fileName+".txt");
BufferedReader bin =new BufferedReader(new InputStreamReader(sock.getInputStream()));
BufferedWriter fout = new BufferedWriter(new FileWriter(sfl));
DataOutputStream bout = new DataOutputStream(sock.getOutputStream());
char[] buf =new char[512];
int len =0;
if(bin != null){
while((len =bin.read(buf))!= -1){
fout.write(buf,1,len);
fout.flush();
}
System.out.println("[Server]:"+sfl.getName()+" 파일받기완료 "+ "\n\t"+" 파일크기:"+(int)buf[0]);
//buf[0]에는 전송받은 파일크기,
/*같은 파일인지 확인하는 부분..같은 파일이면 1을 보냄..아님 2보냄
long fileLength = sfl.length()-1;
if((int)fileLength == (int)buf[0]){
bout.writeInt(1);
System.out.println("[Server]:SUCCESS!!");
bout.flush();
}
else{
bout.writeInt(2);
System.out.println("[Server]:FAIL!!");
bout.flush();
}*/
}
fout.close();
bout.close();
bin.close();
sock.close();
}catch(Exception e){
System.out.println(e);
}
}
}
No comments:
Post a Comment