OS/Linux
linux socket source
badcob
2009. 8. 5. 17:22
쓸때마다 매번 찾는게 귀찮아서..
#include#include #include #include #include #include #include #define SERVER "xxx.xxx.xxx.xxx" #define PORT "xxxx" #define TRUE 1 void error_handling(char *message); int main(int argc, char **argv) { int i,sock; char exploit[]=""; unsigned char recv[512]= {0, }; int str_len; int option; socklen_t optlen; /************* socket initialize and connect ****************/ struct sockaddr_in serv_addr; sock=socket(PF_INET, SOCK_STREAM, 0); if(sock == -1) error_handling("socket() error"); optlen = sizeof(option); option = TRUE; setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &option, sizeof(option)); memset(&serv_addr, 0, sizeof(serv_addr)); serv_addr.sin_family=AF_INET; serv_addr.sin_addr.s_addr=inet_addr(SERVER); serv_addr.sin_port=htons(atoi(PORT)); if(connect(sock, (struct sockaddr*)&serv_addr,sizeof(serv_addr))<0) error_handling("connect() error!"); /****************** main start ********************/ if((str_len = read(sock, recv, 64))==0) //Read 1 error_handling("read() error!"); recv[str_len]=0; printf("Message from server : %s \n", recv); if((str_len = read(sock, recv, 64))==0) //Read 2 error_handling("read() error!"); recv[str_len]=0; printf("Message from server : %s \n", recv); if((str_len = write(sock, first, strlen(first))) == -1) ///write 1 error_handling("write() error"); if((str_len = read(sock, recv, 64))==0) //Read 3 error_handling("read() error!"); recv[str_len]=0; printf("Message from server : %s \n", recv); close(sock); return 0; } void error_handling(char *message) { fputs(message, stderr); fputc('\n', stderr); exit(1); }