2010-03-12 7 views
0

입니다. Ruby에는 서버가 있고 클라이언트와 웹 서비스가 있습니다. URL의 파일이 800k 미만인 경우에만 작동합니다. "socket.puts data"가 클라이언트에서 작동하지만 "output = socket.gets"- 아닌 것 같습니다. 나는 문제가 파이썬 부분에 있다고 생각한다. 대용량 파일 테스트의 경우 "피어에 의한 연결 재설정"을 실행하십시오. 기본적으로 버퍼 크기 변수가 파이썬 어딘가에 있습니까?파이썬 서버의 파일 크기는

+0

이 게시물에는 세부 정보가 없으며 매우 모호합니다. 소스 스 니펫이 훨씬 도움이 될 것입니다. – Lee

답변

0

예제에 약간의 정보와 코드를 추가 할 수 있습니까?

sock.recv_into()는 버퍼와 버퍼 크기를 인수로 취하고 있습니까? 또는 루비쪽에 keepalive가 없으므로 시간 초과 문제가 발생합니까?

지식에 앞서 추측.

+0

답변 해 주셔서 감사합니다. 마지막으로 루프를 사용하고 Ruby와 Python 양쪽에서 청크를 사용하여 작업을 수행했습니다. 그거야. 루비 : output = "" while !socket.eof? do output = output + socket.read(1024) end 파이썬 : def handle(self): total_data = [] while 1: data = self.request.recv(1024) if len(data) < 1024: total_data.append(data) break total_data.append(data) t_data = ''.join(total_data)