[컴퓨터, 네트워크, 통신] Chatting Server/Client 프로그램
- 최초 등록일
- 2004.11.06
- 최종 저작일
- 2001.12
- 10페이지/ 한컴오피스
- 가격 1,000원
소개글
숭실대 컴퓨터학과 '네트워크 프로그래밍' 과목 리포트 입니다. 김은환 교수님이 강의하셨습니다.
컴파일 실행환경
제 목 : Chatting Server/Client 프로그램
과 목 명 : 네트워크 프로그래밍
교 수 명 : 김 은 환 교수님
제 출 일 : 2001년 12월 13일
제 출 자 : 정보과학대학
컴퓨터공학부
9443036 장 재 수
<Source>
<Result>
<Epilogue>
본문내용
<Source>
File : chat_server.c
/*----------------------------------------------------------
파일명 : chat_server.c
기 능 : 채팅 참가자 관리, 채팅 메세지 수신 및 방송
컴파일 : cc -o chat_server chat_server.c -lsocket -lnsl
사용법 : chat_server 4001
------------------------------------------------------------*/
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <signal.h>
#include <sys/socket.h>
#include <sys/file.h>
#include <netinet/in.h>
#include <string.h>
#include <arpa/inet.h>
#define MAXLINE 512
#define MAX_SOCK 64
char *escapechar = "/exit"; /* 종료 문자 */
int getmax(int); /* 현재 소켓번호중 가장 큰 값 */
void removeClient(int); /* 채팅 탈퇴 처리 함수 */
int maxfdp1; /* 최대 소켓번호 +1 */
int num_chat = 0; /* 채팅 참가자수 */
int client_s[MAX_SOCK]; /* 채팅에 참가자 소켓번호 목록 */
char c_name[MAX_SOCK][10]; /* 채팅 참가자의 이름을 저장하는 배열 */
char rline[MAXLINE]; /* 채팅 참가자의 메시지를 읽어 저장 */
void serverClose(int); /* 채팅 서버 종료 함수 */
int duplicate_check(); /* 중복 이름을 검사하는 함수 */
int main(int argc, char *argv[])
{
char my_msg[MAXLINE], message[MAXLINE];
char *start = "-- [채팅 서버 접속에 성공하셨습니다] --.\n"; /* 접속 성공 메세지 */
int i, j, n;
int s, client_fd, clilen;
fd_set read_fds; /* 읽기를 감지할 소켓번호 구조체 */
struct sockaddr_in client_addr, server_addr;
if(argc != 2)
{
printf("Use :%s port\n", argv[0]);
exit(0);
}
참고 자료
없음