리슨포트를 지정해주고 실행시키면 바인드 에러납니다.
맛깔손
질문 제목 : 리슨포트를 지정해주고 실행시키면 바인드 에러납니다.리슨포트를 지정해주고 실행시키면 바인드 에러납니다.
문제는 실행될 때의 그 리슨포트가 제가 지정한 리슨포트가 아닌데,
다른 리슨포트로 실행을하려고 하면서 바인드 에러가 납니다.
질문 내용 :
개별적으로는 따로 따로 잘 돌아가는 프로그램 입니다.
그런데 a를 실행시키고 b를 실행시키려고 하면 바인드 에러가 b를 실행시키고 a를 실행시키려고
하면 바인드에러가 납니다.
각 각 하나씩 실행하고 사용하면 문제가 없는 프로그램입니다.
if (bind (server_fd, (struct sockaddr *) &addr, sizeof (addr)) == -1)
{
printf(바인드에러\n);
close (server_fd);
return -1;
}
바인드 부분입니다. 따로 실행시킬때는 문제가 없던 소스입니다.
그리고 a 프로그램 리슨포트를 2000으로 했으면 b는 2001로 하였습니다.
a를 실행하고 b를 실행하면 리슨포트 2001이 아니라 전에 실행한 a의 2000포트로 바인드하려고 합니다.
두 개의 프로그램이 모두 중요한 프로그램이라 동시에 실행이 되야하는데
도대체 이유를 알 수가 없습니다. ㅠ ㅠ
프로그램의 기능은 다른 서버에서 데이터 주는 것을 db에 접속하여 기록한 후 다시 데이터를 준 서버로
그대로 돌려주는 프로그램입니다.
-
연체리
addr 에 port입력해주는부분은 정확한가요??
질문글로만 봐서는 원인을 찾을수가 없을듯합니다.