#include<stdio.h><br>#include<string.h><br>#include<arpa/inet.h><br>#include<unistd.h><br>#include<stdlib.h><br><br>void error_handling(char* message);<br><br>int main(int argc, char** argv){<br> int serv_sock;<br> struct sockaddr_in serv_addr;<br><br> char message[100];<br><br> if(argc != 3){<br> printf("Usage : %s <addr> <port>\n", argv[0]);<br> exit(1);<br> }<br> <br> memset(&message, 0, sizeof(message));<br> <br> serv_sock = socket(PF_INET, SOCK_STREAM, 0);<br> if(serv_sock == -1)<br> error_handling("socket() error!");<br><br> memset(&serv_addr, 0, sizeof(serv_addr));<br> serv_addr.sin_family = AF_INET;<br> serv_addr.sin_addr.s_addr = inet_addr(argv[1]);<br> serv_addr.sin_port = htons(atoi(argv[2]));<br><br> if( connect(serv_sock, (struct sockaddr*) &serv_addr, sizeof(serv_addr)) == -1)<br> error_handling("connect() error!");<br><br> read(serv_sock, message, sizeof(message)-1);<br><br> printf("message : %s\n", message);<br> close(serv_sock);<br><br> return 0;<br>}<br><br>void error_handling(char* message){<br> fputs(message, stderr);<br> fputc('\n', stderr);<br> exit(1);<br>}<br><br>현재 리눅스기반 소켓 프로그래밍을 공부중입니다.<br>근데 제 짤막한 지식으로는 socket()이라던지 connect()라던지 하는 함수가 sys/socket.h에 정의되어 있기 때문에 sys/socket.h와 sys/types.h를 include해줘야 한다고 알고있는데, 모르고 그 둘의 include를 빼먹었음에도 불구하고 컴파일 에러가 안나서 질문드립니다.<br>이거 왜 에러가 안나는건가요?;;<br>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.