소켓프로그래밍에 관해 질문드립니다.
작성자 정보
- 최성혁 작성
- 작성일
컨텐츠 정보
- 1,407 조회
- 0 추천
- 목록
본문
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <sys/socket.h>
void error_handling(char *message);
int main(void)
{
int serv_sock;
char *serv_ip="127.0.0.1";
char *serv_port="9190";
struct sockaddr_in serv_addr;
serv_sock=socket(PF_INET, SOCK_STREAM, 0); /* 소켓 생성 */
if(serv_sock == -1)
error_handling("socket() error");
memset(&serv_addr, 0, sizeof(serv_addr));
serv_addr.sin_family=AF_INET;
serv_addr.sin_addr.s_addr=inet_addr(serv_ip); //htons(INADDR_ANY);
serv_addr.sin_port=htons(atoi(serv_port));
if( bind(serv_sock, (struct sockaddr*) &serv_addr, sizeof(serv_addr))==-1 ) /* 소켓에 주소를 할당 */
error_handling("bind() error");
printf("파일 디스크립터 %d 의 소켓에 주소 할당까지 완료!
", serv_sock);
return 0;
}
void error_handling(char *message)
{
fputs(message, stderr);
fputc('
', stderr);
exit(1);
}
열혈강의 tcp/ip 소켓프로그래밍 예제인데요
예제랑 똑같이했는데
memset 부분에서 incompatible implicit declaration of built in function 'memset'
라고 워닝이 뜨고
bind 부분에서 passing argument 1 of 'bind 'makes integer pointer without a cast
라고 워닝이뜨네요
gcc 로는 워닝만떠도 컴파일이 안되는건가요 ㅇㅇ;
근데 캐스팅했는데 bind 부분에서 캐스팅이 안되어있다고 나오고.. 책이랑 똑같이했는데 그렇네요
제가 페도라 를 깔아서 쓰고있는데 저처럼 이런경우있었는지 가르쳐주시길 바랍니다 ㅠ.ㅠ
관련자료
-
이전
-
다음