0
클라이언트가 요청할 때 소켓 연결을 통해 txt 파일을 보내야합니다. 문제는 이진 형식을 ASCII로 변환하는 방법을 생각할 수 없다는 것입니다. 이 코드를 사용하면 클라이언트는 정크 문자 만 수신합니다.소켓을 통해 .txt 스트리밍 C++
ifstream file;
char output [logfilesize];
file.open("log.txt");
file >> output;
send(socket, output, sizeof(output), 0);
cout << output << endl;
file.close
죄송합니다. 질문을 여러 번 물어 보았지만 모든 게시물을 읽은 후에는 어떻게 작동하는지 파악할 수 없었습니다.
감사합니다.
편집 : Working code!
int lenght;
char * logf;
ifstream file;
file.open("log.txt");
file.seekg(0, ios::end);
lenght = file.tellg();
file.seekg(0, ios::beg);
logf = new char [lenght];
file.read(logf, lenght);
file.close();
cout.write (logf, lenght);
send(soc,logf , lenght, 0);
delete[] logf;
매우 유용한 답변을 제공해 주셔서 감사합니다. 불행히도 send() 문제는 여전히 남아 있습니다. 클라이언트는 문서의 첫 번째 문자 만 받고 있습니다. – 01BTC10
첫 번째 게시물에 새 코드를 추가했습니다. – 01BTC10
@ user38586, 클라이언트 코드가 무엇인지 알지 못해도 알기가 어렵습니다. – Nim