linux socket source

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);
}

'OS > Linux' 카테고리의 다른 글

redhat 9.0 networking problem in vmware  (0) 2010.06.20
about Signal  (0) 2009.12.09
Advanced Programming in the Unix Environment  (0) 2009.12.02
APUE 7장 연습문제  (0) 2009.11.27
codegate 2009. hamburger  (0) 2009.08.14
binary analysis in linux box without symbol  (0) 2009.06.15

badcob OS/Linux