mplayer 가 많이 좋아져서 요즘은
vo=xv 에서도 vm=yes 가 되는군요. (전부터 되던건가...)
그런데 문제는 xorg.conf 에 설정한 modeline 을 따르지 않는다는 것입니다.
modeline 에서는 640x480 의 해상도는 160hz 만 설정했는데, (ctrl+alt +- 로 하면 잘 됩니다.)
mplayer 가 자동으로 변경하는 해상도에는 적용되지 않습니다.
현재 두대의 피씨에서 전송 속도를 다르게 하여 ip 패킷을
전송해야 합니다. 두 피씨간의 latency는 보통 1ms 정도
나오는데요.. 이를 50ms 혹은 100ms로 조절하여 전송할 수 있는
방법이 있을까요? 제 생각에는 수신되는 ip 패킷에 응답할 때
정해진 딜레이를 준 후에 응답하면 될 듯 한데.. 관련 자료를
찾을 수가 없네요..
이를 해결할 수 있는 관련 자료 부탁드립니다.
block socket을 사용할때는 랜상에서 초당 10메가의 속도로 파일 전송이 되었습니다. 그런데 non-block으로 바꾸고 EAGAIN or EWOULDBLOCK 에러를 리턴할때 못보낸 데이터를 재전송해주는 코드를 추가했더니 초당 5~6메가 정도밖에 속도가 안나오네요.
데이터 재전송 해주는 코드는 다시 파일을 읽는게 아니라 메모리에 있는 내용을 다시 보내주는거라서 특별히 오버헤드가 발생할 부분은 없습니다. 다만 한번에 보낼걸 두번에 보내는거 빼고는요..
그리고 non-block에서 파일전송시 EAGAIN을 리턴할때는 send buffer에 write하는 속도를 네트워크가 받쳐주지 못해서 그런건가요? 그렇게 보기엔 EAGAIN 나올때마다 write 된 사이즈가 일관되게 나오는게 좀 이상해서요.. 예를들어 write에 8192바이트를 요청했는데 5142바이트만 쓰고 리턴하는것처럼 항상 일정한 값만 쓰고 리턴을 합니다.