소켓을 사용하여 Linux에서 파일을 보내고 보내는 방법에 대한 간략한 설명을 찾았지만 조금만 작동하는 해결책을 찾을 수 없습니다. 나는 리눅스에 C++ 서버를 가지고 있고 자바로 실행되는 클라이언트를 가지고있다.Java 소켓에서 C++ linux 소켓으로 파일 보내기
나는 다음을 수행 할 필요 :
- 클라이언트는 서버쪽으로 텍스트 명령을 보낼 수 있어야합니다.
- 클라이언트는 서버로 파일을 보내고받을 수 있어야합니다.
- 서버는 파일을받을 때 다음 명령을받습니다. PUT < filecontents>
- "\ n"으로 모두 닫힙니다.
이미 작성된 코드가 많으며 클라이언트와 서버간에 명령을주고받을 수 있습니다. 하지만 지금 나는 클라이언트와 서버 모두에서 파일을 보내고받는 데 주저하고 있습니다.
클라이언트에서 "PUT /map1/test.pdf somefile"이라는 메시지를 수신하고 실제 파일을 수신하려면 어떤 단계를 거쳐야합니까?
코드가 필요하면 pls에게 문의하십시오. 게시 하겠지만 코드 블록이 도움이되지는 않습니다.
키가 큰 파일 인 경우 파일을 조각으로 보내야합니다. 버퍼를 사용하여 파일을 작은 부분으로 읽고 쓸 수 있습니다. 이것이 당신이 찾고있는 것이 아니라면, 당신은 당신의 질문에 더 구체적이어야합니다. –
C++ 또는 java는 여기에서 관련이 없습니다. 문제는 양쪽에 소켓이 있고 두 가지 방법으로 데이터를 전송한다는 것입니다. 원하는 것을 수행 할 수있는 프로토콜을 설계해야합니다 (FTP가 필요한 프로토콜을 구현하는 것과 같습니다). 그런 다음 양면에 구현하면 완료됩니다. 예제 프로토콜을 찾아서 빌드 할 수 있습니다. – Mic
'모든 것이 닫히는 경우'\ n ".' 두 가지 큰 제한이 있습니다. 바이너리 파일을 보낼 수 없으며 두 줄 이상의 텍스트를 보낼 수 없습니다. 나는 그 의정서를 재고 할 것이다. –