Skip to content

ehddbs4521/Chatting_Program

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💻 TCP 기반 채팅 프로그램 💬

컴퓨터 네트워크 수업에서 배운 TCP 기반 채팅 프로그램입니다. C 언어로 작성하였으며 주요 기능은 아래와 같습니다.

alt text

참고: gccchat_server.cchat_clnt.c를 각각 serverclnt로 컴파일해서 오브젝트 파일을 생성합니다. 이때 server는 7777 포트로 지정합니다.

주요 기능

  1. 클라이언트는 루프백 주소, 7777 포트 번호, 본인의 이름을 입력합니다. (이때 이름이 현재 접속 중인 인원들의 이름과 중복이 일어날 경우 새로운 이름으로 재지정해서 접속)

  2. 사용자들이 접속하면 임시방으로 모이게 되는데, 채팅을 하면 임시방에 접속한 인원들만 볼 수 있습니다.

  3. @사용자 메시지를 하면 특정 사용자에게만 귓속말로 채팅이 전송됩니다. (예: @dy hello)

  4. @m 방번호 비밀번호를 하면 입력한 방 번호로 방을 생성합니다. 만약 방 번호가 중복시 에러가 발생하고 재입력을 해야합니다. 또한 방 비밀번호를 틀렸을 시에도 재입력을 해야합니다. (예: @m 2 1234)

  5. @e 방번호 비밀번호를 하면 입력한 방 번호로 입장합니다. 만약 입력한 방 번호가 존재하지 않을 시 에러가 발생하고 재입력을 해야합니다. 또한 방 비밀번호를 틀렸을 시에도 재입력을 해야합니다. (예: @e 2 1234)

  6. @all이라고 하면 현재 서버에 접속한 모든 사람에게 채팅이 전송됩니다. (참고: 임시방에서 채팅을 하면 채팅방에 접속한 인원들에게는 해당 메시지가 전송되지 않음. 그래서 @all 기능을 입력하여 서버에 접속한 모든 이에게 전송)

  7. @l 을 입력하면 현재 채팅방에 접속한 인원명과 인원수를 보여줍니다.

  8. @o 를 입력하면 현재 채팅방에 나옵니다.

  9. @d 금액 을 입력하면 현재 채팅방에 접속한 인원들에게 지불해야하는 금액과 더치페이한 인당 지불 금액을 보여줍니다.

  10. @p 사용자 금액 을 입력하면 사용자가 현재 프로그램 내에 접속하지 않은 사람이면 에러가 발생하고 재입력을 해야합니다. 또한 지불 금액이 현재 잔고보다 크면 에러가 발생하고 재입력을 해야합니다. 정상적으로 지불이 되었다면 사용자의 출금 후 남은 계좌와 사용자(타겟)에게 "OO님이 OO원을 보냈습니다"라고 알려줍니다. (예: @p dy 3000)

About

컴퓨터 네트워크(학교 과제)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages