목차
1. 문제정의
2. 문제분석
3. 디자인(구현부분) 설명
4. 결론
5. 코드
2. 문제분석
3. 디자인(구현부분) 설명
4. 결론
5. 코드
본문내용
1. 문제정의
① 소켓을 이용하여, 1:1 채팅 프로그램을 만드는 프로그램이다.
client에서 내용을 입력해서 보내면 이것을 server에서 받은 내용을 출력하고 다음 메시지를 입력한 것을 client로 전송한다. 입력되는 내용은 송신측 화면, 수신 측 화면에 모두에서 출력하도록 해야 한다. 그림과 같이 순차적인 형태로 프로그램 작성을 하면 된다.
② packet을 만들어 보내는 프로그램
‣ 개인정보를 구조체로 만들어 보내야 한다.
struct my_info
{
int seq;//시퀀스 넘버
int id;//학번
char name[128];//이름
}my_info;
‣ 다음과 같은 정보를 보낼 때 각각 다른 정보를 입력하여, 5번 보내도록 한다.
(예,gets(),fgets(),scanf()등등 이용하여 보내도록 한다.)
‣ 전송된 정보는 서버 쪽에서 출력할 수 있도록 해야 하며, 서버에서는 이 메시지를 수신 후 “OK”라는 문장을 전송하도록 한다.
int server_fd,client_fd;
int x,c;
my_info info;
char ack[4]; => 변수 선언및 구조체 선언
struct sockaddr_in server_addr; info 초기화 및 seq값 초기화
memset(&info,0,sizeof(my_info));
info.seq=1;
client_fd = socket(PF_INET, SOCK_STREAM,0); //소켓 생성
bzero((char *) &server_addr, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = inet_addr(serveraddress);
//수와 점으로 표기된 IP 주소를 long형으로 변환
server_addr.sin_port = htons (portnum);
//short형 호스트 바이트 순서의 포트를 네트워크 바이트 순서의 포트로 변경
.........
① 소켓을 이용하여, 1:1 채팅 프로그램을 만드는 프로그램이다.
client에서 내용을 입력해서 보내면 이것을 server에서 받은 내용을 출력하고 다음 메시지를 입력한 것을 client로 전송한다. 입력되는 내용은 송신측 화면, 수신 측 화면에 모두에서 출력하도록 해야 한다. 그림과 같이 순차적인 형태로 프로그램 작성을 하면 된다.
② packet을 만들어 보내는 프로그램
‣ 개인정보를 구조체로 만들어 보내야 한다.
struct my_info
{
int seq;//시퀀스 넘버
int id;//학번
char name[128];//이름
}my_info;
‣ 다음과 같은 정보를 보낼 때 각각 다른 정보를 입력하여, 5번 보내도록 한다.
(예,gets(),fgets(),scanf()등등 이용하여 보내도록 한다.)
‣ 전송된 정보는 서버 쪽에서 출력할 수 있도록 해야 하며, 서버에서는 이 메시지를 수신 후 “OK”라는 문장을 전송하도록 한다.
int server_fd,client_fd;
int x,c;
my_info info;
char ack[4]; => 변수 선언및 구조체 선언
struct sockaddr_in server_addr; info 초기화 및 seq값 초기화
memset(&info,0,sizeof(my_info));
info.seq=1;
client_fd = socket(PF_INET, SOCK_STREAM,0); //소켓 생성
bzero((char *) &server_addr, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = inet_addr(serveraddress);
//수와 점으로 표기된 IP 주소를 long형으로 변환
server_addr.sin_port = htons (portnum);
//short형 호스트 바이트 순서의 포트를 네트워크 바이트 순서의 포트로 변경
.........
소개글