Programming
No. 143
Name. swindler
Subject. UNIX Networking (socket, address, write, read)
Main Cate. C/C++
Sub Cate.
Date. 2005-07-06 11:13
Hit. 3527 (211.109....)
File.
각종 함수를 정리한다.

1) Domain Name으로 IP 얻기

struct hostent *host;
struct in_addr *addr;
char Domain[MAX]="www.swindler.net";

host=gethostbyname(Domain);
addr=(struct in_addr *) *host->h_addr_list;
HOST=addr->s_addr;
PORT=htons((long int) 80);
strcpy(temp_buf,inet_inet_ntoa((struct in_addr) *addr));

temp_buf -> 147.46.232.177
HOST -> ip어드레스가 반대 순서로 16진수 8자리로 구성된 long int


2) 접속하기

int sock;
int connected;
struct sockaddr_in address;

memset((char *)&address,0,sizeof(address));
address.sin_family = AF_INET;
address.sin_port = PORT;
address.sin_addr.s_addr=HOST;

sock=socket(AF_INET,SOCK_STREAM,0);
connected=connect(sock, (struct sockaddr *) & address, sizeof(address));

connectec<0, sock>0 이면 close(sock);


3) 보내고 받기
write(sock, command, strlen(command));
// command : GET / message RFC822
read(sock, buffer, MAX);


[바로가기 링크] : http://coolx.net/cboard/develop/143



Name
Password
Comment
Copyright © 1999-2017, swindler. All rights reserved. 367,611 visitor ( 1999.1.8-2004.5.26 ), 2,405,771 ( -2017.01.31)

  2HLAB   2HLAB_Blog   RedToolBox