2014-07-04 5 views
0

서버 응용 프로그램이 있으며이 서버의 파일을 나와 연결된 일부 클라이언트로 보내려고합니다.소켓을 사용하여 파일 보내기

클라이언트 측에서는 실행중인 응용 프로그램이 없으므로 클라이언트와 서버 간의 텔넷 연결 만 있습니다. 수신 및 정보 전송

Socket cliente = null; 
client = server.accept(); 

:

 inClient = client.getInputStream(); 
     outClient = client.getOutputStream(); 
     bfClient = new BufferedReader(new InputStreamReader(inClient)); 
     pwClient = new PrintWriter(outClient, true); 

내가 보낼 파일 : 나는 내가 원하는 파일 경로가

File flMacro = new File("macro.txt"); 

conection에 얻기 클라이언트 측에 저장합니다.

내 문제는 : 내 클라이언트에 상호 작용하지 않고 파일을 저장하려는 파일 경로를 지정하여 내 서버에있는 macro.txt를 클라이언트로 보내려면 어떻게해야합니까?

+1

그냥 파일 길이를 쓴 다음 내용을 'outClient'에 저장하십시오. 클라이언트 측에서 그에 따라 행동하십시오. –

+0

빅터, 나는 클라이언트 쪽을 가지고 있지 않다. 나는 클라이언트를위한 나의 어플리케이션의 일부를 가지고 있지 않다는 것을 의미한다. 클라이언트 컴퓨터에서 cmd를 열고 텔넷을 사용하여 서버에 연결 한 다음 명령을 보내고 응답을 기다립니다. 딱 이것. – Murilo

+2

오, 오해해서 죄송합니다. 당신의 클라이언트에'nc' (netcat)을 가지고 있습니까? 그렇다면 서버에 연결 한 다음 수신 한 내용을 파일에 씁니다. (예를 들어,이 명령에 대한 명령은'nc' 매뉴얼 페이지를 참조하십시오.) –

답변

0

java SDK를 사용하여 바로 수행 할 수 없습니다. Ant의 Scp Task과 같은 타사 도구를 사용해야합니다. 확실하지 않지만, 자바에서 직접 호출하는 방법.

관련 문제