Address Already in Use 에러

네트워크 프로그램에서 포트를 제대로 닫지 않은 경우, 다시 프로그램을 시작 하면 다음과 같은 에러가 발생하며 프로그램이 실행되지 않는다.

Error on binding: Address already in use

이런 경우  다음을 추가 하면 해결 된다.

int tr=1;

// kill "Address already in use" error message
if (setsockopt(listener,SOL_SOCKET,SO_REUSEADDR,&tr,sizeof(int)) == -1) {
    perror("setsockopt");
    exit(1);
}

Linux USB Gadget Driver

Embedded linux 보드에 USB는 있는데 이더넷이 없는 경우 USB gadget driver를 사용하면 usb를 이더넷으로 사용할 수 있다.

다음은 Linux USB gadget드라이버를 설치하여 USB를 통해 Window와 네트워크 연결하는 방법에 대한 글이다.

http://howto.homelinux.com/wiki/Linux4SAM#USBGadgetDriver.28forusbnetworkdriver.29

보드와 네트워크가 연결되면 ssh client 프로그램을 사용하여 보드에 접속 할 수 있고 파일 전송이 가능하다.