프로그램 구현 및 코드 -서버 구현 서버 생성 ① 서버를 생성하였고, Vector클래스를 이용하여 소켓을 관리하는 벡터를 선언하였다. ... 서버 실행 ① main에서 서버를 실행 시키고 서버 생성 단계에 있는 startServer메소드를 통해 서버가 생성된다. ① 소켓을 생성하여 출력 스트림과 입력 스트림을 지정하고 생성자를 ... 소켓이 만들어지면서 자동으로 스레드가 생성되어 클라이언트와 서버가 연결된다. ④ 벡터 내에 클라이언트 수를 출력하도록 하여 연결된 클라이언트 수를 확인하도록 하였다. ⑤ try-catch를
자바 소켓 프로그래밍을 이용하여 서버와 클라이언트로 구성된
간단한 채팅 프로그램을 구현했습니다.
Swing을 이용해서 GUI 채팅프로그램으로 만들었습니다. ... 서버와 클라이언트 각각 파일 1개씩이고, 자바 원서를 한번정도 읽어보신분이면
어렵지않게 기능을 추가하여 완전한 채팅프로그램을 완성할 수 있을 것입니다.
servSockfd; // 정수형 변수 servSockfd 선언 int clntSockfd; // 정수형 변수 clntSockfd 선언 struct sockaddr_in servAddr; // 서버 ... 프로세스의 소켓주소 정보 struct sockaddr_in clntAddr; // 클라이언트 프로세스의 소켓 주소 정보 char recvBuffer[BUFSIZE]; // 입력 데이터를 ... 위해 printf("\n Input port number : "); // 포트번호 입력 받기 위해 scanf("%i",&a); // a라는 주소에 입력받은 포트번호값 저장 // 소켓
clen; // 서버소켓 생성 if ((ssock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) { perror("socket error ... (bind전에) setsockopt(ssock, SOL_SOCKET, SO_REUSEADDR, &state, states); // bind 함수를 사용하여 서버소켓의 주소 설정 if ... ; // 클라이언트에 보내줄 문자열 int states = sizeof(state); int ssock, csock; // 소켓 디스크립트 정의 int state = TRUE; int
가능하다.1:1 대화만 가능하고 닉네임과 같은 기능이 없다.그래서 다음과 같이 기능을 추가하여 퀄리티를 높였다.GUI기반 채팅 프로그램◇ 추가한 기능 :- 클라이언트에서 접속할 서버의 ... 새로운 클라이언트가 접속할 때마다 아이디를 할당 해주고 클라이언트 리스트 관리- 서버에서 새로운 클라이언트가 접속할 때마다 모든 클라이언트 리스트의 닉네임을 클라이언트들에게 보내주어 ... 메시지 출력- 클라이언트가 접속할 시 현재 접속자 명단을 알려주어 접속자 현황을 볼수 있음.- 클라이언트에서 대화창의 폰트를 변경가능- 클라이언트에서 대화창의 폰트 크기를 변경가능- 서버에서
form_Info; // 클라이언트 정보를 담을 리스트 생성 clientList1 = new List(); //1.종단점 생성(서버쪽 ... 연결 수락, 클라이언트 소켓 생성 th = new Thread(new ThreadStart(run)); th.Start( ... private Server f_Info; public List clientList1; public Thread th; // 이미지 전용 소켓