zynq Cortex-A9 TCP 소켓서버 멈춤현상
글쓴이: hokim / 작성시간: 금, 2016/04/08 - 12:58오전
xilinx zynq의 Cortex-A9에 리눅스를 올리고 나서 TCP의 전송속도를 측정하기 위해
데스크탑의 소켓클라이언트 프로그램이 데이타를
보내라고 요청하면 요청할때마다 32KB씩 전송하도록 zynq에 리눅스 소켓서버를 프로그래밍하여 띄웠습니다.
그런데 테스트하다보면 32 KBbyte씩 전송하다가 멈춤현상이 생깁니다. 데스크탑의 다른 터미널에서
zynq로 ping을 치면 멈춤상태에서 벗어나 다시 전송을 시작하기는 합니다. (원인을 찾아보니 클라이언트에서 요청을 했는데 때때로 서버에서 그 요청을 인지하지 못하는데에서 멈춤현상이 발생하는 것 같습니다.) 그래서 SO_KEEPALIVE 옵션을 소켓서버프로그램에서 accept된 클라이언트
소켓 file descriptor에 적용하거나 소켓클라이언트프로그램의 소켓 file descriptor에 적용해 보았습니다. 그런데 이런 현상을 피할수가 없네요. 어떻게하면 저런 멈춤현상을 해결할수 있을까요? 참고로 zynq에 올린 리눅스는 linaro의 ubuntu 15.04 nano 입니다.
Forums:
댓글 달기