TCP와 UDP를 같은 포트에 bind하려고 합니다.
Sona
perror함수를 사용해보니 이미 사용되고있는 주소라고 뜨네요(Address already in use)TCP와 UDP는 같은 포트에서 동시에 사용할 수 있다고 하는데 왜 바인드에러가 뜨는건지 ㄷㄷ
memset을 두개로 쪼개서 따로 넣어봤는데도 해결이 안되더라구요..
그냥 bind하면 안되는건가요? 여기저기 찾아봤는데 영 답이 안나와서 질문글 올려봅니다.
두 서버를 동시에 같은 포트에서 돌리는게 목적입니다.코드는 아래와 같습니다. error_handling 함수는 생략#include stdio.h
#include stdlib.h
#include string.h
#include unistd.h
#include arpa/inet.h
#include sys/socket.hvoid error_handling(char *message);int main(int argc, char *argv[])
{
pid_t pid;
int tcp_serv_sock,udp_serv_sock, clnt_sock;
int read_cnt,str_len,i;
struct sockaddr_in serv_adr, clnt_adr;
socklen_t clnt_adr_sz; if(argc2)
{
printf(Usage : %s IP\n, argv[0]);//세개 이상 입력했을 때 오류출력
exit(1);
} //주소정보
memset(&serv_adr, 0 ,sizeof(serv_adr));
serv_adr.sin_family=AF_INET;
serv_adr.sin_addr.s_addr=htonl(INADDR_ANY);
if(argc==1)
serv_adr.sin_port=htons(1234);//포트를 입력하지 않았을 때
else if(argc==2)
serv_adr.sin_port=htons(atoi(argv[1]));//포트를 입력했을 때 pid=fork();
if(pid=0) //Parent Process. UDP
{
udp_serv_sock=socket(PF_INET, SOCK_DGRAM, 0); //소켓생성
if(udp_serv_sock ==-1)
error_handling(UDP socket creation error); if(bind(udp_serv_sock, (struct sockaddr*)&serv_adr, sizeof(serv_adr))==-1)
error_handling(bind() error);
}
else //Child process. TCP
{
fp=fopen(FILENAME,rb);
tcp_serv_sock=socket(PF_INET, SOCK_STREAM, 0); //소켓생성
if(bind(tcp_serv_sock, (struct sockaddr*)&serv_adr, sizeof(serv_adr))==-1)
perror(bind() error);
}
return 0;
}
-
Creator
소켓옵션 설정하는걸로 해결했습니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2701429 | 자료형에 관한 질문 (5) | 펴라 | 2025-07-14 |
2701377 | 훌로트형 변수를, 서식문자 %d로 읽기 vs 인트형 포인터로 참조하기 | LetMeGo | 2025-07-13 |
2701291 | 콘솔에서 종료시킬때 메시지를 안띄우려면 어떻게 해야하나요? (1) | 세실 | 2025-07-12 |
2701262 | 씨언어 좀 봐주세요 | 아담 | 2025-07-12 |
2701211 | 토큰추출 | 겨루 | 2025-07-12 |
2701159 | 연산자문제 알려주세요 | 도1도캣 | 2025-07-11 |
2701130 | 중적분문제입니다. 적분구간에 변수가 들어갈순 없나요??ㅡㅜ | 풀큰 | 2025-07-11 |
2701098 | 난수에 질문드립니다. | 큰뫼 | 2025-07-11 |
2701070 | 또다른 시험문제 질문올립니다 | 채련 | 2025-07-10 |
2701042 | 뭐가 잘못된건지 잘 모르겠습니다.;; | 지은 | 2025-07-10 |
2700986 | 뭐가 잘못된건지좀 봐주세요. | 우주 | 2025-07-10 |
2700932 | 도와주세요 ㅠㅠ 모르겟어요 ㅠ | 유희 | 2025-07-09 |
2700900 | 반복문 도움요청..!!합니다. (1) | 두힘 | 2025-07-09 |
2700875 | (유효성검사)프로그램 짜는데 질문이 잇습니다. | 휑하니 | 2025-07-09 |
2700852 | 링크드 리스트 구현시 malloc 관련 에러 입니다. | 삐용삐용 | 2025-07-08 |
2700828 | 7/4 와 7/4.0 의 차이 | 발랄한그1녀 | 2025-07-08 |
2700771 | 아스키값 질문입니다. (+추가 임베디드 다른것도!) (3) | 찰스 | 2025-07-08 |
2700746 | 코드 오류 질문드립니다 | 차분 | 2025-07-07 |
2700721 | 배열 프로그래밍 입니다. (1) | 크나 | 2025-07-07 |
2700695 | 간단한 메모장 구현을 할려고 하는데요 (9) | 늘솜 | 2025-07-07 |